如何强制log4j2压缩文件,即使它没有标准的gz或zip扩展名

如何强制log4j2压缩文件,即使它没有标准的gz或zip扩展名,log4j,log4j2,Log4j,Log4j2,如果我们将标准扩展名指定为gz/zip log4j2,则在为属性“filepattern”定义RollingRandomAccessFile Appender或类似Appender时,会自动压缩文件 <RollingRandomAccessFile name="RollingRandomAccessFile" fileName="/var/log/myapp.log" filePattern="/var/lo

如果我们将标准扩展名指定为gz/zip log4j2,则在为属性“filepattern”定义RollingRandomAccessFile Appender或类似Appender时,会自动压缩文件

<RollingRandomAccessFile 
             name="RollingRandomAccessFile" 
             fileName="/var/log/myapp.log"
             filePattern="/var/log/myapp.%d{yyyy_MM_dd}.%i.gz">

我希望使用不同的扩展名而不是gz/zip,但是仍然使用gzip压缩来压缩文件


有没有办法做到这一点?

从log4j2-rc1开始,这是不可能的。是否压缩以及使用哪种压缩算法的决定目前由“filePattern”文件扩展名决定

如果您想要解耦这些,可能需要在RollingRangoAccessFile和RollingFile的配置中增加一个属性,那么请在Log4j2的Jira问题跟踪器中提出一个特性请求。提供带有单元测试的补丁是理想的选择。:-)