温馨提示×

log4j怎么定时删除旧日志

小亿
307
2023-12-22 17:23:22
栏目: 编程语言

在log4j中,可以通过配置RollingFileAppender来实现定时删除旧日志文件。以下是一个示例配置文件:

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属性来控制日志文件的大小和保留备份文件的数量。

同时,我们还配置了triggeringPolicy为SizeBasedTriggeringPolicy,通过设置MaxFileSize属性来触发日志文件的切分。

rollingPolicy配置为TimeBasedRollingPolicy,并设置了FileNamePattern和ActiveFileName属性来定义日志文件的命名规则和活动文件名。

最后,我们设置了cleanHistoryOnStart为true,表示在应用启动时清除历史日志文件。

通过以上的配置,log4j会按照一定的时间和大小规则自动删除旧的日志文件,以确保日志文件的大小和数量都在可控范围内。

0