1. 程式人生 > >log4j-每天日誌檔案加日期字尾

log4j-每天日誌檔案加日期字尾

DailyRollingFileAppender-每天一個日誌檔案

每天生成一個日誌檔案,當天12點的時候,會複製一份當天日誌到一個加日期字尾的檔案當中。

例如:日誌fileName test.log,當天的日誌會列印到test.log檔案中,12點的時候會將前一天的日誌複製到檔案test.log.yyyy-mm-dd檔案中。

如何讓當日的日誌帶上日期字尾?

DailyRollingFileAppender雖然可以每天生成一個日誌檔案,但是沒辦法做到讓當天的日誌檔案帶上時間字尾(通常也沒有必要)。

Just in case 有這樣的需求,可以試試Apache Extras for Apache log4j(for more information:

https://logging.apache.org/log4j/extras/)。它是log4j 1.2.x的功能擴充套件包。其中的很多元件最初是致力於Apache log4j 1.3的研發工作。

log4j-extras重新實現了RollingFileAppender,可以更加靈活地指定RollingPolicy。並且提供了基於時間的rolling策略,TimeBasedRollingPolicy。使用它們,可以方便地完成我們的需求。log4j.xml配置如下(也可以使用log4j.properties):

 <appender name="daily" class="org.apache.log4j.rolling.RollingFileAppender"
>
<param name="encoding" value="utf-8"/> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="fileNamePattern" value="daily.log.%d{yyyy-MM-dd}"/> </rollingPolicy> <layout class="org.apache.log4j.PatternLayout"
>
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] - %m%n"/> </layout> </appender>