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