2013-10-14 74 views
6

我使用TimeBasedRollingPolicy和RollingFileAppender进行有我的日志翻身和归档为myLogFileName..log.gz:log4j的:归档文件删除策略

<appender class="org.apache.log4j.rolling.RollingFileAppender" name="myLogFile"> 
    <param value="/var/log/my/myLogFileName.log" name="File"/> 
    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
     <param name="FileNamePattern" value="/var/log/my/myLogFileName.%d.log.gz" /> 
    </rollingPolicy> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param value="%d [%t] %-5p - %m%n" name="ConversionPattern"/> 
    </layout> 
</appender> 

我不明白 - 在这里它定义了何时以及如何将真正的旧归档文件从文件系统中完全删除?

而且,如果我想保持始终只有一个月以前的文件 - 我可以在哪里设置它(使用log4j(extras))?

回答

1

你的问题在这里得到解答How can I get log4j to delete old rotating log files?

RollingFileAppender进行此操作。您只需将maxBackupIndex设置为备份文件的最大值即可。

或者你可能想用一个脚本 How to configure log4j to only keep log files for the last seven days?

+3

那并没有回答我的问题... maxBackupIndex和maxFileSize为是,如果没有基于时间策略中使用。无论如何,在文档中它说maxBackupIndex的默认值是1.但是我看到我有12个文件(每天一个),并且我想udnerstand如何增加/减少这个/某处预定义的值 – javagirl