log4j 旋转和压缩文件



是否可以使用 logging.yml 配置使用 log4j 旋转和压缩文件?

目前看起来有两个策略 - 基于时间(压缩文件,但不基于大小)和基于大小(不压缩文件),但我看不到如何同时配置旋转和压缩的选项。例如,"旋转大于 10M 的文件并压缩它们"。

如果有人有logging.yml的例子,我将不胜感激。

这是目前 logging.yml,但它不会根据大小旋转,也不会压缩:

rootLogger: DEBUG, console, file
log4j.appender: org.apache.log4j.rolling.RollingFileAppender
file:
   type: org.apache.log4j.rolling.RollingFileAppender
   file: ${path.logs}/${cluster.name}.log
   rollingPolicy: org.apache.log4j.rolling.TimeBasedRollingPolicy
   rollingPolicy.FileNamePattern: ${path.logs}/${cluster.name}.log.%d{yyyy-MM-dd}.gz
   trigeringPolicy: org.apache.log4j.SizeBasedTriggeringPolicy
   trigeringPolicy.MaxFileSize: 10M
   trigeringPolicy.MaxBackupIndex: 5
   layout:
     type: pattern
     conversionPattern: "%d{ISO8601}[%-5p][%-25c] %m%n"

提前感谢!

这对

我有用。适用于 2.17 版本。

log4j.rootLogger=INFO, loggerId log4j.appender.loggerId=org.apache.log4j.rolling.RollingFileAppender log4j.appender.loggerId.rollingPolicy.maxIndex=5 log4j.appender.loggerId.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy log4j.appender.loggerId.triggeringPolicy.MaxFileSize=10000000 log4j.appender.loggerId.rollingPolicy.FileNamePattern=worker-%i.log.gz log4j.appender.loggerId.rollingPolicy.ActiveFileName=worker.log log4j.appender.loggerId.layout=org.apache.log4j.PatternLayout log4j.appender.loggerId.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n

最新更新