1. 程式人生 > >log4j不能列印日誌到檔案解決

log4j不能列印日誌到檔案解決

最近自己做個專案,想把不同的日誌列印到不同的檔案,配置如下:

log4j.rootCategory=DEBUG, stdout
log4j.rootLogger=DEBUG, stdout, FILE
#
### stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout
.ConversionPattern=%d{ABSOLUTE} %5p - %m%n ## 輸出檔案配置 ### log4j.appender.FILE=org.apache.log4j.RollingFileAppender log4j.appender.FILE.Append=true log4j.appender.FILE.File=./logs/root.log log4j.appender.FILE.Threshold=DEBUG log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender
.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n log4j.appender.FILE.MaxFileSize=10MB # #### set package ### log4j.logger.org.springframework=DEBUG, spring log4j.logger.org.apache=DEBUG log4j.logger.org.apache.catalina=DEBUG log4j.logger.org.apache.commons.digester.Digester
=DEBUG log4j.logger.org.apache.catalina.startup.TldConfig=DEBUG log4j.logger.chb.test=DEBUG # ### 列印到對應的log日誌 ### log4j.appender.spring=org.apache.log4j.RollingFileAppender log4j.appender.spring.Append=true log4j.appender.spring.File=./logs/spring.log log4j.appender.spring.Threshold=DEBUG log4j.appender.spring.layout=org.apache.log4j.PatternLayout log4j.appender.spring.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n log4j.appender.spring.MaxFileSize=10MB

最開始定義了rootLog,列印到專案logs/root.log下,然後給org.springframework起個別名叫spring,然後列印到logs/spring.log下。但是無論如何老是打印不出檔案。後來發現原來是檔案輸出路徑的問題,必須要用絕對路徑。
這樣修改之後

log4j.appender.FILE.File=D:/xxx/logs/root.log
log4j.appender.spring.File=D:/xxx/logs/spring.log

xxx為對應路徑。即可打印出檔案。