溫馨提示×

log4j怎么定時刪除舊日志

小億
393
2023-12-22 17:23:22
欄目: 編程語言

在log4j中,可以通過配置RollingFileAppender來實現(xiàn)定時刪除舊日志文件。以下是一個示例配置文件:

log4j.rootLogger=DEBUG, file

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/path/to/log/file.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10

log4j.appender.file.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.file.triggeringPolicy.MaxFileSize=10MB

log4j.appender.file.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.file.rollingPolicy.FileNamePattern=/path/to/log/file_%d{yyyy-MM-dd}.log
log4j.appender.file.rollingPolicy.ActiveFileName=/path/to/log/file.log
log4j.appender.file.rollingPolicy.cleanHistoryOnStart=true

log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

在上面的配置中,我們使用了RollingFileAppender,并設置了MaxFileSize和MaxBackupIndex屬性來控制日志文件的大小和保留備份文件的數(shù)量。

同時,我們還配置了triggeringPolicy為SizeBasedTriggeringPolicy,通過設置MaxFileSize屬性來觸發(fā)日志文件的切分。

rollingPolicy配置為TimeBasedRollingPolicy,并設置了FileNamePattern和ActiveFileName屬性來定義日志文件的命名規(guī)則和活動文件名。

最后,我們設置了cleanHistoryOnStart為true,表示在應用啟動時清除歷史日志文件。

通過以上的配置,log4j會按照一定的時間和大小規(guī)則自動刪除舊的日志文件,以確保日志文件的大小和數(shù)量都在可控范圍內(nèi)。

0