log4j定時(shí)刪除舊日志怎么設(shè)置

小億
149
2024-01-13 15:26:27

要定期刪除舊日志,可以使用log4j的RollingFileAppender和TimeBasedRollingPolicy結(jié)合使用。

首先,在log4j的配置文件中,將日志輸出到文件中,使用RollingFileAppender配置。例如:

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

上面的配置將日志輸出到/path/to/log/file.log文件中,并設(shè)置最大文件大小為10MB,最大備份索引為10,即當(dāng)日志文件大小達(dá)到10MB時(shí),會(huì)自動(dòng)滾動(dòng)備份文件,最多保留10個(gè)備份文件。

接下來(lái),可以使用TimeBasedRollingPolicy來(lái)定時(shí)刪除舊日志。例如:

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.PurgeInterval=1

上面的配置將根據(jù)時(shí)間來(lái)滾動(dòng)文件,每天生成一個(gè)新的日志文件,文件名格式為/path/to/log/file-yyyy-MM-dd.log,并設(shè)置了活動(dòng)文件為/path/to/log/file.log。同時(shí),設(shè)置了日志文件的清理間隔為1天,即每隔1天,就會(huì)刪除1天前的日志文件。

通過(guò)上述配置,就可以實(shí)現(xiàn)定時(shí)刪除舊日志的功能。

0