在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將按照指定的時間格式生成日志文件,并在啟動時刪除舊的日志文件。