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