2013-10-14 4 views
6

を削除するアーカイブされたファイル、私は私のログは寝返りやmyLogFileName..log.gzとしてアーカイブする持っているTimeBasedRollingPolicyとRollingFileAppenderを使用しています:の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> 

私は理解していない何か - 場所です実際に古いアーカイブファイルがファイルシステムから完全に削除される時期と方法が定義されていますか?

そして、1ヶ月以上も前のファイルを常に保存したい場合 - 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ファイル(毎日1つ)を持っていると私はどのように/何らかの理由で/どのように事前に定義された値を増減することがわかります – javagirl