【问题标题】:Log rotation based on monthly and log retention for 30 days in RollingFileAppender of log 4j日志轮换基于日志 4j 的 RollingFileAppender 中的每月和日志保留 30 天
【发布时间】:2018-08-22 15:25:46
【问题描述】:
您好需要配置 RollingFileAppender 以每天轮换日志并删除 30 天前的旧日志文件,可以帮助我解决此配置的 log4j.prepoerties 问题。我想从 DailyRollingFileAppender 切换到 RollingFileAppender,因为 DailyRollingFileAppender 没有删除的灵活性
【问题讨论】:
标签:
apache-kafka
log4j
rollingfileappender
【解决方案1】:
切换到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
这将最多保留 10 个 50MB 的文件。虽然您无法控制日志覆盖的时间范围,但您可以确定日志不会填满您的磁盘。