特定のアペンダーに出力するようにパッケージと特定のクラスを構成できます。したがって、実際に特定のスレッドを出力するか、特定のクラスを使用するかどうかを検討してください。通常、私は後で必要です。例えば
、log4jの中でそれはどこにもキャッチされない場合は、クラスcom.foo.Bar
だけfoo.log
ファイルに記録します
<appender name="someLog" class="org.apache.log4j.FileAppender">
<param name="File" value="/logs/foo.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p %C{1} - %t - %m%n"/>
</layout>
</appender>
<category name="com.foo.Bar" additivity="false">
<priority value="warn"/>
<appender-ref ref="someLog"/>
</category>
だろう。
(1)クラスをモニターにするのはどうですか? (はい、同時に1つのスレッドへの並行性を減らします)。 (2)タイムスタンプで(各スレッドが独自のバッファを持つように)異なるバッファにログする。たいていバッファをファイルにダンプしますが、タイムスタンプでファイルをソートするようにしてください – Adrian
申し訳ありません、Adrian、あなたはどういう意味ですか?それ以上の詳細は? –
出血が何を意味するのかよく分かりません(他のもののログに混乱がありますか?)。私のコメントから理解できない部分はどれですか? – Adrian