log4j - 将日志文件压缩到gz上

dbf*_*dbf 5 java logging log4j

是否可以设置log4j来创建gziped日志文件而无需创建中间.log文件?有几种滚动策略(按日期滚动等),但它们首先创建解压缩文件.

dbf*_*dbf 1

可以使用此编写器解决此任务:http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/coyote/http11/filters/FlushableGZIPOutputStream.html 和类似的代码

Writer writer = new OutputStreamWriter(new FlushableGZIPOutputStream(newFileOutputStream(logFileName), LINES_TO_FLUSH));
appender.setWriter(writer);
Run Code Online (Sandbox Code Playgroud)

它可以工作,但有一些缺点:压缩率较低,并且并不总是可以解压缩该文件。所以我又回到了轮换。