日志4j的RollingFileAppender中基于月度和日志保留30天的日志轮换

cha*_*ddy 2 log4j rollingfileappender apache-kafka

嗨,需要配置 RollingFileAppender 以每天轮换日志并删除 30 天前的旧日志文件,可以帮助我解决此配置的 log4j.prepoerties。我想从 DailyRollingFileAppender 切换到 RollingFileAppender 因为 DailyRollingFileAppender 没有删除的灵活性

Mic*_*son 5

切换到RollingFileAppender是一件很常见的事情。但是,您无法将其配置为将日志保留 30 天。RollingFileAppender限制由大小设置。您可以指定每个日志文件的大小以及要保留的数量。例如:

log4j.appender.kafkaAppender=org.apache.log4j.RollingFileAppender
log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
log4j.appender.kafkaAppender.MaxFileSize=50MB
log4j.appender.kafkaAppender.MaxBackupIndex=10
log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
Run Code Online (Sandbox Code Playgroud)

这将最多保留 10 个 50MB 的文件。虽然您无法控制日志涵盖的时间范围,但您可以确定日志不会填满您的磁盘。