1. ホーム
  2. java

[解決済み] log4j: 特定のクラスの出力を特定のアペンダーにログ出力する

2022-04-22 21:03:52

質問

私はlog4jを使用しており、特定のLoggerの出力を特定のファイルにルーティングしたいと思います。

すでに複数のアペンダーを導入しています。今、デバッグを容易にするために、私は特定のクラス(例えば、foo.bar.Baz)によって生成された出力が特定のログファイルに書き込まれるべきであることをlog4jに伝えたいと考えています。

これは可能なのでしょうか?

どのように解決するのですか?

一例です。

log4j.rootLogger=ERROR, logfile

log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.datePattern='-'dd'.log'
log4j.appender.logfile.File=log/radius-prod.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%-6r %d{ISO8601} %-5p %40.40c %x - %m\n

log4j.logger.foo.bar.Baz=DEBUG, myappender
log4j.additivity.foo.bar.Baz=false

log4j.appender.myappender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myappender.datePattern='-'dd'.log'
log4j.appender.myappender.File=log/access-ext-dmz-prod.log
log4j.appender.myappender.layout=org.apache.log4j.PatternLayout
log4j.appender.myappender.layout.ConversionPattern=%-6r %d{ISO8601} %-5p %40.40c %x - %m\n