是否可以使用 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