可以将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源代码复制到你的项目(不能扩展任何有用的方法类)和修改的MeteredStream
的open()
方法。
之后,只需使用普通的配置,以使用新的处理程序。
答
不,不是没有自己写的,但你可以做的是安排一个cron作业,定期做这个。这可能是最快的解决方案。
答
我怀疑它可在Java日志框架。你可以设置一个shell脚本,每天晚上压缩所有以前的日志文件。
如果你真的想这样做在Java中,你可能需要编写自己的FileHandler。
检查创建新文件并尝试压缩前一个文件的方法。