0

すべてのイベント (警告以上) をメイン ログに書き込み、特定のロガーについてはデバッグのみのメッセージを 2 番目のログ ファイルに書き込みます (警告以上はメインに記録する必要があります)。メイン ログにもデバッグ メッセージを表示したい場合があります (例: log4j.logger.com.test=debug)。

さらに、log4j プロパティ ファイルの構文を使用する必要があります。その場合、加法性(最後の行を参照)が条件付きになるかどうか、またはタスクに完全に異なるアプローチを使用する必要があるかどうかがわかりません(どちらですか?)。

私が今持っているもの:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] %c:%L - %m%n

log4j.rootLogger=warn, stdout

log4j.appender.file2=org.apache.log4j.RollingFileAppender
log4j.appender.file2.maxFileSize=10240KB
log4j.appender.file2.maxBackupIndex=30
log4j.appender.file2.File=${catalina.home}/logs/test.log
log4j.appender.file2.encoding=UTF-8
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
log4j.appender.file2.layout.ConversionPattern=%d %-5p [%t] %c:%L - %m%n
log4j.logger.org.hibernate = debug, file2
log4j.additivity.org.hibernate = false

log4j.logger.com.test=debug
4

1 に答える 1

0

log4j1.x はもはや積極的に保守されていないため、Log4J2 を確認することをお勧めします (また、Log4J2 には、パフォーマンスの向上など、他にもいくつかの利点があります)。

一般的な使用例は、開発者向けにデバッグ以上 (情報、警告、エラー、致命的) をファイルに書き込み、サポートなどのために警告以上 (警告、エラー、致命的) を別のファイルに書き込むことです。

あなたの説明から、出力をデバッグレベルのみに制限し、情報、警告、エラー、および致命的なレベルのメッセージを除外したいようです。これは可能ですが、上記の使用例ほど簡単ではありません。おそらくフィルターを使用する必要があります: http://logging.apache.org/log4j/2.x/manual/filters.html フィルターのドキュメントを見てください。

于 2013-09-30T22:34:20.043 に答える