我已经使用 log4j 的滚动策略来压缩达到一定大小的文件。下面的 log4j 属性工作正常。
log4j.appender.FILE=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.FILE.rollingPolicy=org.apache.log4j.rolling.FixedWindowRollingPolicy
log4j.appender.FILE.rollingPolicy.maxIndex=13
log4j.appender.FILE.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.FILE.triggeringPolicy.MaxFileSize=80
log4j.appender.FILE.rollingPolicy.FileNamePattern=log/projectlog_${current.date.time}.%i.log.gz
log4j.appender.FILE.rollingPolicy.ActiveFileName=log/project_log_${current.date.time}.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%m%n
Run Code Online (Sandbox Code Playgroud)
但这里的问题是在生成压缩文件后,它还使用 gz 文件的名称重命名压缩 gz 文件中存在的文件。
对于我的场景,我不希望 log4j 重命名压缩的 gz 存档中存在的文件。有什么方法可以限制 log4j 不更改它正在压缩的文件名。