1. 程式人生 > >logback/log4j實現log檔案一開始自帶日期[log4j預設需要觸發才會帶日期後續]

logback/log4j實現log檔案一開始自帶日期[log4j預設需要觸發才會帶日期後續]

背景:我們本來是通過記錄行為到log,然後第二天下載log來處理,通過log的時間後續來判斷是否需要下載。後來發現我們下載前到0點沒有log的更新,那麼前一天的log是不會加時間後續,導致不會下載處理,結果記錄漏了資料。所以想找自帶時間戳的方式。

1.Logback

logback使用slf4j,和log4j是兩樣東西,所以獲取的logger也是不一樣的。

1.如果只是需要使用time rolling可以使用log4j extras的TimeBasedRollingPolicy來一開始生成日期後續

2.如果既需要日期又需要大小控制就要用logback的SizeBasedTriggeringPolicy和TimeBasedRollingPolicy了

2.Log4j

1.新建一個類,繼承fileappender 2.參考DailyRollingFileAppender,原始檔在 http://download.csdn.net/detail/abcd1101/9922734 或者 https://wiki.apache.org/logging-log4j/DailyRollingFileAppender 3.修改其中的activateOptions(修改到一開始的檔案就帶日期),rollOver(修改到換檔名的時候,只是新建檔案,不是換檔名,然後setfile到新檔案) 4.在log4j.xml裡面的fileappender換成自己寫的新類 自己寫好的在這裡:http://download.csdn.net/detail/abcd1101/9922746