2013-10-14 108 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