メッセージのロギング レベルに基づいて 2 つの個別のパターンを使用するように log4j を設定するにはどうすればよいですか?
たとえば、現在、すべてのレベルに適用される次のものを使用しています。
log4j.appender.stdout.layout.ConversionPattern=%-5p %d{HH\:mm\:ss} - %m%n
私がやりたいのは、WARN 以上のレベルに別のパターンを使用することです。そのような:
%-5p %d{HH\:mm\:ss} - [%L:%C] %m%n
警告またはエラーが発生した行番号とクラスを出力します。警告やエラーが発生する状況では、発信者情報を取得するための余分なコストを支払う価値があります。
これは実行可能ですか?
ここに私の完全な log4j.properties ファイルがあります:
log4j.rootLogger=WARN, stdout1, stdout2
log4j.category.my.package=DEBUG
log4j.appender.stdout1=org.apache.log4j.ConsoleAppender
log4j.appender.stdout1.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout1.layout.ConversionPattern=%-5p %d{HH\:mm\:ss} - %m%n
log4j.appender.stdout2=org.apache.log4j.ConsoleAppender
log4j.appender.stdout2.threshold=WARN
log4j.appender.stdout2.target=System.err
log4j.appender.stdout2.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout2.layout.ConversionPattern=%-5p %d{HH\:mm\:ss} - [%t] [%L:%C] %m%n
編集
threshold
以上のすべてのレベルを記録するために必要なもののようWARN
です。INFO
のすべてのレベルとそれ以下をログに記録するように他のアペンダーを構成する同様のプロパティはありますか?