关于log4j按照日期记录日志,使用DatePattern属性的解惑

以下是本人亲测用的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' 
按照指定格式输出到此文件中。

循环往复。

你可能感兴趣的:(关于log4j按照日期记录日志,使用DatePattern属性的解惑)