2
我想將我整個應用程序的所有日誌細節存儲在兩個不同的文件中。 對於例如:一個文件將包含所有調試信息和其他將只提供錯誤使用rootLogger的Log4j多個日誌文件
我目前的log4j.properties文件看起來像這樣
log4j.rootLogger=DEBUG, file1
#Log Message in debug.log file
log4j.appender.file1=org.apache.log4j.FileAppender
log4j.appender.file1.File=log/debug.log
log4j.appender.file1.layout=org.apache.log4j.PatternLayout
log4j.appender.file1.layout.ConversionPattern=%-4r %d{dd MMM yyyy HH:mm:ss} [%t] %-5p %c %x - %m%n
log4j.rootLogger=ERROR, file2
#Log Message in error.log file
log4j.appender.file2=org.apache.log4j.FileAppender
log4j.appender.file2.File=log/error.log
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
log4j.appender.file2.layout.ConversionPattern=%-4r %d{dd MMM yyyy HH:mm:ss} [%t] %-5p %c %x - %m%n
但這只是更新error.log文件(任意文件上次提到)
,我所遇到到現在最好的解決辦法是使用
log4j.logger.OTHER_LOGGER=DEBUG, file2
log4j.additivity.OTHER_LOGGER = false
#File Appender
log4j.appender.file2=org.apache.log4j.FileAppender
log4j.appender.file2.File=log/admin.log
log4j.appender.file2.layout=org.apache.log4j.PatternLayout
log4j.appender.file2.append=false
log4j.appender.file2.layout.ConversionPattern=%-4r %d{dd MMM yyyy HH:mm:ss} [%t] %-5p %c %x - %m%n
,並使用
private static final Logger logger = LoggerFactory.getLogger("OTHER_LOGGER");
但在使用這個問題是當日志被更新爲顯示像
0 22 Oct 2012 20:38:50 [main] INFO OTHER_LOGGER - testclass
現在這裏,而不是提從哪裏日誌中報告類,它說OTHER_LOGGER
因此,最好的方法去使用它將使用兩個rootLooger的,但不知何故它不允許它
任何人都可以請幫我嗎?
thnks。雖然我不得不使用XML,但我認爲這應該可以做到。 請問您是否可以將上述屬性文件轉換爲XML,我不是很熟悉 再次感謝 – Sumit
您是否想要將所有或僅具有DEBUG級別的消息寫入log/debug.log? –