log4j-DailRollingFileAppender,重写子附件()
我是log4j的DailyRollingFileAppender类的新手,我想用它来执行日志文件的每日循环,同时还想在每次有事件触发到日志事件时手动修改日志文件 例如,我希望在日志文件中始终将“TOTAL COUNT:”的值增加1。我该怎么做呢 日志内容的示例:log4j-DailRollingFileAppender,重写子附件(),log4j,Log4j,我是log4j的DailyRollingFileAppender类的新手,我想用它来执行日志文件的每日循环,同时还想在每次有事件触发到日志事件时手动修改日志文件 例如,我希望在日志文件中始终将“TOTAL COUNT:”的值增加1。我该怎么做呢 日志内容的示例: 07 Oct 2011 16:57:51 [INFO ] - Failed 07 Oct 2011 16:57:51 [WARN ] - Failed 07 Oct 2011 16:57:51 [ERROR] - Successful
07 Oct 2011 16:57:51 [INFO ] - Failed
07 Oct 2011 16:57:51 [WARN ] - Failed
07 Oct 2011 16:57:51 [ERROR] - Successful
07 Oct 2011 16:57:51 [FATAL] - Failed
07 Oct 2011 16:57:52 [DEBUG] - Successful
07 Oct 2011 16:57:52 [INFO ] - Failed
07 Oct 2011 16:57:52 [WARN ] - Failed
07 Oct 2011 16:57:52 [ERROR] - Successful
07 Oct 2011 16:57:52 [FATAL] - Failed
07 Oct 2011 16:57:53 [DEBUG] - Successful
07 Oct 2011 16:57:53 [INFO ] - Failed
07 Oct 2011 16:57:53 [WARN ] - Failed
07 Oct 2011 16:57:53 [ERROR] - Successful
07 Oct 2011 16:57:53 [FATAL] - Failed
07 Oct 2011 16:57:54 [DEBUG] – Successful
TOTAL COUNT: 15
在
dailrollingfileappender
中覆盖subAppend()
似乎是一条可行之路。在调用super.subAppend()
时,您还必须小心,因为WriterAppender
是这样实现的:
受保护的无效子外观(记录事件){
this.qw.write(this.layout.format(事件));
// ...
}
而且你不想用“总计数”行来布局
在我的subAppend()
中,我会完全复制d.R.F.Appender的功能,添加:
- 行计数逻辑,如果其他地方不存在
- 检查是否应打印特殊行的条件,然后格式化并直接打印到
qw