文章目录

DailyRollingFileAppender是日志记录软件包Log4J中的一个Appender,它能够按一定的频度滚动日志记录文件,利用此Appender,我们可以按天生成一个接口调用日志文件。

DailyRollingFileAppender中可以指定monthly(每月)、weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,通过为DatePattern选项赋予不同的值来完成的。

DatePattern选项的有效值为:

'.'yyyy-MM,对应monthly(每月)
'.'yyyy-ww,对应weekly(每周)
'.'yyyy-MM-dd,对应daily(每天)
'.'yyyy-MM-dd-a,对应half-daily(每半天)
'.'yyyy-MM-dd-HH,对应hourly(每小时)
'.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)

DatePattern中不用处理的文字要放到单引号(‘)中,如上面的(.)。

我们可以按如下的方式在log4j.properties中对DailyRollingFileAppender进行配置:

1
2
3
4
5
6
7
#webservice log
log4j.logger.webServiceLog= INFO,wslog
log4j.appender.wslog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.wslog.datePattern='_'yyyyMMdd'.log'
log4j.appender.wslog.File=${catalina.base}/logs/wslog
log4j.appender.wslog.layout=org.apache.log4j.PatternLayout
log4j.appender.wslog.layout.ConversionPattern=%m%n

生成日志文件为:wslog_20140506.log , wslog_20140507.log , 而当天的日志文件名称为wslog,log4j会自动为以前日期的日志文件重命名存储。测试的时候可以修改系统时间来观察生成的日志文件。

DailyRollingFileAppender在每一个日志事件(LoggingEvent)附加(append)之前检查是否需要附加。也就是说如果在一个滚动区间中没有任何日志记录,那么这个区间的日志记录文件就不会形成。

文章目录