2011-04-05 10 views
9

Tengo un proyecto Spring que usa log4j en Linux (Debian, Ubuntu y RHEL). Ahora me gustaría implementar la rotación de registros de mejores prácticas para los registros generados log4j.Registros Linux-Java que giran usando log4j o logrotate.d

He usado previamente logrotate.d para otros componentes que no son de Java y funcionó muy bien para mí. Necesitaba rotar por tamaño/tiempo y comprimir los registros antiguos y logrotate podría hacer todo esto.

Soy nuevo en log4j y ahora me pregunto cómo debo configurar la rotación de registros.

  1. ¿Debo usar log4j solo para el registro y logrotate para la rotación?
  2. ¿Usar solamente log4j para la rotación?
  3. ¿Usa una combinación de ambos?

¿Cuál es su experiencia? cual es la mejor practica?

Respuesta

3

En general, suelo utilizar log4j para el registro y las rotaciones iniciales, y uso logrotate para comprimir y archivar. La razón es que intento mantener las reglas de registro, incluido el (los) archivo (s) para registrar, el tamaño, la convención de nomenclatura, etc., para que se asocien con la aplicación. Luego trato de poner las configuraciones de tipo sysadmin, como cuántas guardar, cuándo comprimir, cuándo moverme al directorio de copia de seguridad en el logrotate.

+2

¿No encontró esa configuración una molestia? Debe mantener el conjunto de configuración, que son bastante dependientes. Por ejemplo, girar la regla como el tamaño o la frecuencia que pones en log4j cuando la cantidad, compresión, etc. que mantienes en logrotate. ¿Tal vez has probado el módulo de compresión para log4j? – hnviet

+0

Respuesta impresionante: también estaba tratando de justificar el uso de ambos y no pude encontrar una clara "separación de preocupaciones". –

Cuestiones relacionadas