1
我是log4j的DailyRollingFileAppender类的新手,我想用它来执行日志文件的日常轮换,同时也想每次都手动修改日志文件是触发记录事件的事件。log4j - DailyRollingFileAppender,覆盖subAppend()
例如,我希望在日志文件中始终将“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 [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
我不完全理解部分说“你不希望布局与你的”总数“行。”。 “this.qw.write(this.layout.format(event))”是否将新的日志事件写入文件或追加到文件末尾? – mike
@mike这两个选项有什么区别?日志行总是附加的,你不能在中间放置任何东西。通过“不要布局[...]”我的意思是,如果您通常登录“TOTAL COUNT”,您会得到一条像“2011年10月7日16:57:54 [调试] TOTAL COUNT”的行,如你的例子 - 这就是为什么你需要绕过格式化程序。 – MaDa
如果它总是以一种附加的方式登录,我猜测在中间修改一行的唯一方法是手动打开日志文件并执行搜索并替换为文件中的字符串? – mike