可以将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()方法.

之后,只需使用正常配置即可使用新的处理程序.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...