¿Cómo establecer el número máximo de rollos y el tamaño máximo de registro para tomcat?

Tengo problemas con el espacio, por lo que necesito limitar el tamaño de catalina.out a 10M y limitar el número de rollos a 3 días anteriores. ¿Es posible con solo configurar logging.properties? Gracias.

Como Tomcat usa JULI internamente para iniciar sesión, puede usar la propiedad del sistema java.util.logging.config.file para especificar la ruta del archivo de propiedades. Para el formato de este archivo de propiedades, puede consultar su JRE_HOME/lib/logging.properties (que es el archivo de configuración predeterminado usado por JUL)

Sin embargo, JUL no admite la rotación diaria . Si no te importa, puedes usar su java.util.logging.FileHandler para rotar los archivos de registro según el tamaño de archivo del registro:

 # Define the FileHandler handlers= java.util.logging.FileHandler # Configure the FileHandler java.util.logging.FileHandler.pattern = %h/java%u.log java.util.logging.FileHandler.limit = 1024000 java.util.logging.FileHandler.count = 3 java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter java.util.logging.FileHandler.append=true 

Luego, cada archivo de registro tendrá un tamaño límite de 1024000 bytes (1 MB) y un máximo de 3 registros de salida. Puede consultar el Javadoc de java.util.logging.FileHandler para obtener detalles sobre la configuración.


Debe implementar File Handler si desea admitir la rotación diariamente usando JUL. Encontré una implementación personalizada de este blog . No lo intenté todavía. Puede referirlo si tiene algún interés.

Desde al menos Tomcat 5.5 “el registro interno de Apache Tomcat usa JULI, una bifurcación renombrada de Apache Commons Logging empaquetada que está codificada para usar el marco java.util.logging (JUL)”.

Las versiones recientes de JULI y la válvula de registro de acceso por defecto utilizan un formato de fecha AAAA-MM-dd. Los registros de juli.FileHandler se llaman {prefix} {fecha} {sufijo} donde fecha es aaaa-MM-dd si rotable es verdadero (predeterminado). Si es falso, la fecha se descarta y Tomcat no manejará la rotación de archivos. También hay un parámetro maxDays para limitar el número de registros girados de Tomcat que se mantendrán. Por ejemplo, podría establecer eso en 3 y solo tener tres días de registros guardados.

Access Log Valve es más configurable. Por ejemplo, le permite especificar un fileDateFormat del predeterminado de yyyy-MM-dd, por lo que podría agregar HH para rotar cada hora, o simplemente rotar mensualmente. También puede optar por retrasar el nombre formateado hasta la rotación con renameOnRotate.

Si necesita algo más sofisticado que este o el tamaño de JUL y la rotación basada en el conteo, puede ser mejor establecer rotativo a falso y manejar la rotación externamente a Tomcat.