2

我想从 log4j 命名备份文件,将 sysdate 附加到名称中,而不是 filename.1, filename.2 ....

我该怎么做?

4

2 回答 2

2

为此,您需要使用 Log4J“附加”JAR(由 Apache 提供),并使用RollingFileAppender那里找到的(参见FileNamePattern参数): http: //logging.apache.org/log4j/companions/extras/apidocs/index .html

例如(取自那里的 Javadoc):

<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/>
    </rollingPolicy>
</appender>
于 2013-01-24T12:13:24.043 回答
1

如果您需要以特定频率(例如每分钟或每小时)备份文件,那么DailyRollingFileAppender课程将适合您的目的。

但是,如果您需要在文件达到一定大小后归档文件,那么扩展RollingFileAppender类可能是一种好方法。您需要以rollover()类似于以下的方式覆盖其方法:

public void rollOver() {
...

file = new File(fileName + '.' + System.currentTimeMillis());

...

}
于 2013-01-24T12:09:48.277 回答