44
是否可以根據appender爲單個Logger配置不同的日誌級別?單個記錄器每個appender的日誌級別
我意識到這與question類似,就我已經有了自己而言,但問題在於閾值適用於所有記錄到該appender的記錄器,而我只想要閾值適用於單個記錄器。
即到目前爲止,我有這樣的事情:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=WARN
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.logger.mylogger=DEBUG,logfile
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern=${roll.pattern.daily}
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %C{2} - %m%n
log4j.appender.logfile.File=mylogfile.log
我想mylogger DEBUG消息被髮送到日誌文件附加目的地,但我也想mylogger INFO消息被髮送到stdout appender(但對於所有其他記錄器只有警告)。使用閾值將stdout限制爲WARN限制mylogger的輸出。
我推薦使用XML格式,它比較容易理解,IMO – skaffman 2010-01-28 12:49:13
同意,並且它公開了通過屬性文件不可用的功能。 – Joel 2010-01-28 13:37:15
不錯!這對我來說在一年後非常有用: - 我在運行時做到了這一點,不過在應用程序中,像這樣:myAppender.setThreshold(Level.INFO)。 – Jochem 2011-01-14 14:34:39