我想从log4j命名备份文件,并在名称中添加sysdate,而不是filename.1、filename2....
我该怎么做呢?
发布于 2013-01-24 12:13:24
为此,您需要使用Apache(由Log4J提供),并使用在那里找到的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-24 12:09:48
如果您需要以特定的频率备份文件,例如每分钟或每小时备份一次,则DailyRollingFileAppender
类将适合您的目的。
但是,如果您需要在文件达到一定大小后对其进行存档,那么扩展RollingFileAppender
类可能是一种好的方法。您需要用类似于下面的方式覆盖它的rollover()
方法:
public void rollOver() {
...
file = new File(fileName + '.' + System.currentTimeMillis());
...
}
https://stackoverflow.com/questions/14500301
复制