¿Es posible con cualquiera de los anexos log4j escribir los registros con un tiempo de rotación específico y un límite de retención?
El objetivo sería:
- tener un archivo de registro para cada día; crear un nuevo archivo a medianoche para los nuevos registros
- mantener los archivos de registro y eliminarlos automáticamente después de un cierto período de tiempo; así que elimine los archivos de registro anteriores a X días (por ejemplo, 30 días)
Parece que la rotación es posible pero el límite del tiempo de retención no es posible con log4j
La versión de log4j es 1.2.
¡si podemos!
archivo:
project->src->main->resources->logback.xml
Para más información mire la documentación: TimeBasedRollingPolicy
JavaDoc : TimeBasedRollingPolicy
fuente
La mayoría de las respuestas se basan en el inicio de sesión. Pero la pregunta es sobre log4j 1.2 (antiguo ...)
la respuesta que menciona DailyRollingFileAppender tampoco funcionará.
org.apache.log4j.DailyRollingFileAppender
no es compatible con laMaxBackupIndex
propiedad, consulte http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html (esto es paraRollingFileAppender
)te puede interesar: Usar MaxBackupIndex en DailyRollingFileAppender -log4j
y para una posible respuesta: Log4j Rollingpolicy y MaxbackupIndex
Pero probablemente debería usar la "emulación" slf4j log4j ( http://www.slf4j.org/legacy.html#log4j-over-slf4j ) y enrutar su registro a través de logback (sin ningún cambio de código) donde es mucho más fácil de implementar .
fuente