Java log4j:存档文件删除策略

Java log4j:存档文件删除策略,java,log4j,Java,Log4j,我正在使用TimeBasedRollingPolicy和RollingFileAppender来滚动我的日志,并将其归档为myLogFileName..log.gz: <appender class="org.apache.log4j.rolling.RollingFileAppender" name="myLogFile"> <param value="/var/log/my/myLogFileName.log" name="File"/> &l

我正在使用TimeBasedRollingPolicy和RollingFileAppender来滚动我的日志,并将其归档为myLogFileName..log.gz:

    <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))?

TimeBasedRollingPolicy
由定义。要使用该策略,此依赖项必须位于类路径上

RollingFileAppender
包括一个
maxBackupIndex
属性,该属性指定要保留的最大翻滚备份文件数。但是,我认为在使用
TimeBasedRollingPolicy
时不支持此属性。这意味着,当将
RollingFileAppender
TimeBasedRollingPolicy
一起使用时,appender不会删除旧的备份文件

如果您使用Logback作为日志记录实现(可能与htslf4j结合使用),那么您可以使用 向后退。我承认这个问题是在寻求log4j解决方案,但我不知道