在log4j中,可以使用org.apache.log4j.rolling.RollingFileAppender
来实现定时删除旧日志文件的功能。该类是log4j的RollingFileAppender的子类,支持基于时间的日志滚动策略。
以下是使用RollingFileAppender实现定时删除旧日志的步骤:
<appender name="appenderName" class="org.apache.log4j.rolling.RollingFileAppender">
<param name="File" value="logFilename.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="logFilename-%d{yyyy-MM-dd}.log" />
<param name="CleanHistoryOnStart" value="true" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
在上述配置中,MaxFileSize
表示单个日志文件的最大大小,MaxBackupIndex
表示保留的备份文件数量。
rollingPolicy
来设置时间滚动策略。FileNamePattern
表示生成的日志文件名的格式。CleanHistoryOnStart
设置为true
表示在启动时清除历史日志文件。通过上述配置,log4j将按照指定的时间格式生成日志文件,并在启动时删除旧的日志文件。