当大量用户使用的实时系统存在仅在实时中发生的问题时,我遇到了使用过多 DiskIO 和过多空间的日志记录问题。
是否有允许直接写入 GZIP 压缩文件的 log4j 或(最好是)LogBack appender/configuration?
这个特性已经存在于 Logback 中。看看appenders部分,特别是time based rolling policy。
引用:
就像FixedWindowRollingPolicy
,TimeBasedRollingPolicy
支持自动文件压缩。如果选项的值以或fileNamePattern
结尾,则启用此功能。.gz
.zip
还要查看基于时间和大小的滚动策略。
您可以设置在一个日志文件达到特定限制后发生翻转。
我不相信为每个日志语句直接写入 GZIP 压缩文件是可行的,因为这会产生相当大的性能开销。使用现有功能的组合对我来说听起来很合理。
logback 已经解决了空间问题。它将在翻转期间压缩您的日志文件。IO 问题完全不同,恐怕 logback 无法提供解决方案。