我想将 log4j 配置为只写入最大指定大小的文件,例如 5MB。当日志文件达到 5MB 时,我希望它开始写入新文件。我想在日志文件名中加入某种有意义的时间戳,以区分一个文件和下一个文件。
在编写新文件时,我不需要它以任何方式重命名或操作旧文件(压缩将是一个福音,但不是必须的)。
我绝对不希望它在一段时间或滚动文件数量后开始删除旧文件。
N MB 日志文件的时间戳块似乎是我能想象的绝对基本的最小简单策略。它是如此基本,以至于我几乎拒绝相信它不是开箱即用的,但我一直无法弄清楚如何做到这一点!
特别是,我尝试了所有的化身DailyRollingFileAppender
,RollingFileAppender
或'Extras' RollingFileAppender
。当超过备份计数时,所有这些都会删除旧文件。我不想要这个,我想要我所有的日志文件!
TimeBasedRollingPolicy
from Extras 不适合,因为它没有最大文件大小选项,并且您无法关联辅助文件SizeBasedTriggeringPolicy
(因为它已经实现TriggeringPolicy
)。
是否有开箱即用的解决方案 - 最好是在 Maven 中心?