log4j不能列印日誌到檔案解決
阿新 • • 發佈:2019-01-06
最近自己做個專案,想把不同的日誌列印到不同的檔案,配置如下:
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為對應路徑。即可打印出檔案。