2017-09-14 73 views
0

可以配置log4j RollingFileAdapter在午夜後不更改日誌文件名嗎?如果日誌記錄在2017-09-15開始,並且在00:00之後繼續保留一切,那麼我將使用配置(請參見下文),並將其記錄到另一個日誌文件2017-09-16。我想完整登錄到同一個文件。只有在2017-09-16開始另一次運行時,纔會創建一個新的日誌。Log4J:如何在午夜後保留日誌文件

<appender name="file-output" class="org.apache.log4j.rolling.RollingFileAppender"> 
    <param name="ImmediateFlush" value="false"/> 
    <param name="Threshold" value="INFO"/> 
    <rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
     <param name="FileNamePattern" value="log/${logfilename}_%d{yyyy-MM-dd}.log"/> 
    </rollingPolicy> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n"/> 
    </layout> 
</appender> 
+0

https://stackoverflow.com/a/36496683/3635454 – pleft

+0

可能重複[每log4j運行一個日誌文件](https://stackoverflow.com/questions/19132433/one-logfile-per-run-with -log4j) – pleft

回答

0

聽起來像你不需要ROTATE文件appender。

在您的情況下,我會建議您只使用normarl文件appender,這將使所有日誌記錄成爲一個文件。所有你需要做的是按日期模式命名,如「yyyy-MM-dd.log」。

ps:如果你想旋轉,在linux上的logrorate工具也是不錯的選擇。