2009-10-07 20 views
6

¿Es posible configurar java.util.logging para comprimir los archivos de registro cuando se "desplaza" hacia el uso de un nuevo archivo de registro? Por ejemplo, un extracto de mi archivo de configuración del registro es el siguiente:¿Se puede configurar java.util.logging para usar archivos de registro comprimidos?

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 

Idealmente me gustaría mensajes de registro actuales para escribirse en blah.log.0 conservando al mismo tiempo blah.log.1.gz, blah.log .2.gz, etc.

También tenga en cuenta que no deseo utilizar un marco de trabajo de registro diferente.

Respuesta

8

Sí, pero debe escribir su propio manejador de archivos. Simplemente copie el código fuente para FileHandler en su proyecto (no puede extender la clase de ninguna manera útil) y modifique el método open() de MeteredStream.

Después de eso, solo use la configuración normal para usar su nuevo controlador.

3

No, no sin escribirlo usted mismo, pero lo que puede hacer es programar un trabajo cron que lo haga con regularidad. Esta probablemente sea la solución más rápida.

2

Dudo que esté disponible en Java logging framework. Puede configurar un script de shell que comprime todos los archivos de registro anteriores todas las noches.

Si realmente quieres hacerlo en Java, es posible que tengas que escribir tu propio manejador de archivos.
Compruebe el método que crea un nuevo archivo e intente comprimir el anterior.

Cuestiones relacionadas