Contexto:log4j FileAppender no cambia al nuevo archivo cuando logrotate gira el archivo de registro
quiero usar log4j para escribir registros relacionados con la auditoría en un archivo de registro específico, digamos audit.log. No quiero usar syslogappender (basado en udp) porque no quiero ser tolerante a la pérdida de datos. Además, estoy usando logrotate para rotar el audit.log cuando el archivo alcanza cierto tamaño.
Problema:
me encuentro con es que, cuando se hace girar el logrotate audit.log archivo a audit.log.1, log4j sigue escribiendo a audit.log.1 que no sea por escrito a la audit.log .
enfoques posibles:
sé que puedo usar RollingFileAppender para hacer la rotación de registro distinto al uso logrotate, así que cuando RollingFileAppender tira el archivo, se conmutan el nuevo archivo sin molestias. Pero la razón por la que no puedo usar rollingfileappender es porque quiero usar la característica de rotar correos de logrotate para desencadenar algunos guiones después de que ocurre la rotación que no puede ser proporcionada por rollingfileappender.
Otra manera desesperada en la que puedo pensar es escribir log4j un appender personalizado para cerrar el archivo de registro (audit.log.1) y abrir el nuevo (audit.log) cuando detecta que se rota el archivo.
nunca he usado ExternallyRolledFileAppender, pero si es posible utilizar el poste logrotate rotan para enviar la señal a ExternallyRolledFileAppender y crea log4j en cuenta el archivo se gira, y empezar a escribir en el archivo nuevo?
Pregunta:
me preguntaba ¿hay algún appender como que ya ha inventado/escrito? o tengo otras opciones para resolver esto?
manera perfecta de hacer una pregunta 1 – Deepak