如何使J滚动文件的日志以.log而不是.log.date结尾

时间:2016-01-29 02:11:23

标签: log4j

我想更改log4J日志记录的appender模式,以便导出的文件以.log扩展名而不是.log。[Date]结束,因为它更容易让Windows打开文件。 e.g。

我想要这样命名的文件

name.log
name.2016-01-26.log
name.2016-01-27.log

而不是这个

name.log
name.log.2016-01-26
name.log.2016-01-27

appender的当前配置

<log4j:configuration>
    <appender name="rollingfile" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="../logs/name.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <param name="Append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d] %-5p [%t] %c{1} - %m%n"/>
        </layout>
    </appender>

1 个答案:

答案 0 :(得分:1)

不确定您使用的是哪个版本的log4j。无论如何,无论哪个版本,您都可以编写自己的Appender,扩展原始版本。

this为例,您会看到它总是将日期附加到文件名的末尾。你可以做的是扩展原始类并覆盖其activateOptions方法。

或者,您可以将DatePattern指定为'.'yyyy-MM-dd'.log'。但是这样滚动日志文件名就像“name.log.2016-01-27.log”。