如何更改log4j翻转文件名格式?

时间:2017-10-03 21:07:22

标签: java logging log4j log4j2

我根据文件大小跟踪了log4j RollingFileAppender。我想自定义翻转文件名。以下代码段生成以下文件名

test.log
test.log.1
test.log.2

但是,我想自定义它以包含日期和时间,例如

test.log
test.log.2017-10-03-14-00
test.log.2017-10-03-13-00
test.log.2017-10-03-12-00
<appender name="file" class="org.apache.log4j.RollingFileAppender">
    <param name="maxFileSize" value="10KB" />
    <param name="File" value="log/test.log" />
    <param name="threshold" value="info" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{[dd.MM.yyyy] HH:mm:ss]} - %m%n" />
    </layout>
</appender>

有人可以指导我怎么做吗?

1 个答案:

答案 0 :(得分:0)

您应该使用org.apache.log4j.DailyRollingFileAppender代替

<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="log/test.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm"/>
    ...
</appender>

您也可以查看

<dependency>
    <groupId>log4j</groupId>
    <artifactId>apache-log4j-extras</artifactId>
    <version>1.2.17</version>
</dependency>

似乎https://logging.apache.org/log4j/extras/apidocs/org/apache/log4j/rolling/RollingFileAppender.html可能会为您提供所需的功能。