關於log4j按照日期記錄日誌,使用DatePattern屬性的解惑
阿新 • • 發佈:2019-02-05
以下是本人親測用的log4j.properties的內容:
# Set root logger level to ERROR and its only appender to A1. log4j.rootLogger=DEBUG,R # R is set to be a DailyRollingFileAppender. log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File=C:/logs/log4j log4j.appender.R.DatePattern='_'yyyy\u5E74MM\u6708dd\u65E5HH\u65F6mm\u5206'.log' #= '.'yyyy-MM-dd log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
我是按照每分鐘記錄一個日誌,在自己的測試類中多次執行,最終發現log4j的執行原理是這樣的:
log4j把日誌臨時輸出到
log4j.appender.R.File=C:/logs/log4j
中指定的檔案中,此時無後綴內容
當一分鐘過去後log4j將把前一分鐘記錄到log4j裡的內容一次去完,放到
log4j.appender.R.DatePattern='_'yyyy\u5E74MM\u6708dd\u65E5HH\u65F6mm\u5206'.log'
按照指定格式輸出到此檔案中。
迴圈往復。