apache-kafka - 在日志 4j 的 RollingFileAppender 中基于每月和日志保留 30 天的日志轮换
问题描述
您好需要配置 RollingFileAppender 以每天轮换日志并删除 30 天前的旧日志文件,可以帮助我使用 log4j.prepoerties 进行此配置。我想从 DailyRollingFileAppender 切换到 RollingFileAppender,因为 DailyRollingFileAppender 没有删除的灵活性
解决方案
切换到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 的文件。虽然您无法控制日志将涵盖的时间范围,但您可以确定日志不会填满您的磁盘。