可以将java.util.logging配置为使用压缩日志文件吗?

问题描述:

是否有可能配置java.util.logging来压缩日志文件,当它“滚动”到使用新的日志文件?例如,从我的日志配置文件的摘录如下:可以将java.util.logging配置为使用压缩日志文件吗?

java.util.logging.FileHandler.level  = ALL 
java.util.logging.FileHandler.pattern = /blah.log 
java.util.logging.FileHandler.limit  = 10000000 
java.util.logging.FileHandler.count  = 5 

理想我想当前日志消息被写入blah.log.0同时保留blah.log.1.gz,blah.log .2.gz等

同时请注意,我不希望使用一个不同的日志框架。

是的,但您必须编写自己的文件处理程序。只为FileHandler源代码复制到你的项目(不能扩展任何有用的方法类)和修改的MeteredStreamopen()方法。

之后,只需使用普通的配置,以使用新的处理程序。

不,不是没有自己写的,但你可以做的是安排一个cron作业,定期做这个。这可能是最快的解决方案。

我怀疑它可在Java日志框架。你可以设置一个shell脚本,每天晚上压缩所有以前的日志文件。

如果你真的想这样做在Java中,你可能需要编写自己的FileHandler。
检查创建新文件并尝试压缩前一个文件的方法。