¿Cómo puedo obtener log4j para eliminar los viejos archivos de registro en rotación? Sé que puedo configurar trabajos automatizados (cron para UNIX y tarea programada para Windows), pero lo quiero multiplataforma, y lo quiero en la configuración de registro de nuestra aplicación como parte de nuestra aplicación, en lugar de en un código separado fuera del sistema operativo lenguajes de scripting específicos. Nuestra aplicación no está escrita en los lenguajes de scripting del sistema operativo, y no quiero hacer esta parte de ella en ellos.¿Cómo puedo obtener log4j para eliminar los viejos archivos de registro en rotación?
Respuesta
RollingFileAppender hace esto. Solo necesita establecer maxBackupIndex al valor más alto para el archivo de respaldo.
Los registros giran por un motivo, por lo que solo conserva tantos archivos de registro. En log4j.xml puede agregar esto a su nodo:
<param name="MaxBackupIndex" value="20"/>
El valor indica log4j.xml sólo para mantener a 20 archivos de registro rotados alrededor. Puede limitar esto a 5 si lo desea o incluso 1. Si su aplicación no está registrando esa cantidad de datos, y tiene 20 archivos de registro que abarcan los últimos 8 meses, pero solo necesita una semana de registros, entonces creo que necesita ajustar los parámetros log4j.xml "MaxBackupIndex" y "MaxFileSize".
Alternativamente, si está utilizando un archivo de propiedades (en lugar del xml) y desea guardar 15 archivos (por ejemplo)
log4j.appender.[appenderName].MaxBackupIndex = 15
¿Funciona esto con DailyRollingFileAppender? – rogerdpack
No hay un valor predeterminado para controlar la eliminación de archivos de registro antiguos creados por DailyRollingFileAppender. Pero puede escribir su propio Appender personalizado que borre archivos de registro antiguos de forma muy similar a la configuración de maxBackupIndex para RollingFileAppender.
instrucciones simples que se encuentran here
De 1:
Si usted está tratando de utilizar el Apache Log4J DailyRollingFileAppender para un archivo de registro diario, puede que tenga que desee especificar el número máximo de archivos que debería mantenerse. Al igual que RollingFileAppender es compatible con maxBackupIndex. Pero la versión actual de Log4j (Apache log4j 1.2.16) no proporciona ningún mecanismo para eliminar archivos de registro antiguos si está utilizando DailyRollingFileAppender. Traté de hacer pequeñas modificaciones en la versión original de DailyRollingFileAppender para agregar la propiedad maxBackupIndex. Por lo tanto, sería posible limpiar los archivos de registro antiguos que pueden no ser necesarios para el uso futuro.
- 1. ¿Cómo rotar los archivos de registro en función del tiempo en lugar del tamaño en Log4j?
- 2. log4net - Eliminar archivos viejos rodando por fecha
- 3. ¿Hay un analizador de archivos de registro para archivos log4j?
- 4. Múltiples archivos de registro con log4j
- 5. eliminación de viejos archivos usando crontab
- 6. ¿Log4j proporciona algún mecanismo para el registro diario de archivos?
- 7. ¿Dónde puedo encontrar programáticamente dónde se almacenan los archivos de registro log4j?
- 8. ¿Cómo se crean los archivos de registro en log4j por ejecución del programa?
- 9. Cómo configurar log4j para registrar diferentes niveles de registro en diferentes archivos para el mismo registrador
- 10. ¿Cómo puedo crear 2 archivos de registro separados con un archivo de configuración log4j?
- 11. Registro para la aplicación en un entorno diferente Log4j
- 12. Ruby Daemons rotación de registro
- 13. crear mediante programación diferentes archivos de registro utilizando log4j
- 14. Cómo puedo Log4j correctamente, cerrando todos los Appenders y, por lo tanto, los archivos
- 15. ¿Log4Net puede eliminar archivos de registro automáticamente?
- 16. Log4j archivos múltiples
- 17. ¿Cómo puedo verificar los archivos de registro de Drupal?
- 18. En PowerShell, ¿cómo puedo usar Rename-Item para generar los nombres de archivos nuevos y viejos al mismo tiempo?
- 19. ¿Cómo se configura log4j para que solo conserve los archivos de registro durante los últimos siete días?
- 20. Refactorización de archivos CSS grandes/viejos
- 21. Comprimir archivos Log4j
- 22. ¿Los servidores de almacenamiento en Django manejan la eliminación de viejos archivos estáticos?
- 23. Registro de Java vs Log4J
- 24. Encontrar archivo de registro Log4J
- 25. script php para eliminar los archivos de más de 24 horas, se borran todos los archivos
- 26. ¿Cómo crear diferentes archivos de registro para diferentes paquetes utilizando el mismo log4j logger?
- 27. Analizar un archivo de registro de log4j
- 28. ¿Cómo sobrescribo un archivo de registro en log4j?
- 29. log4j: registro específico del paquete
- 30. ¿Cómo obtener madereros distintos en log4j?
¿Hay alguna manera de hacer esto con DailyRollingFileAppender? –
No, no con el estándar - vea la respuesta del usuario3195649 a continuación. Creo que los extras de Apache para log4j tienen algo similar. –
¿Esto también eliminará los archivos de registro antiguos que han sido archivados antes (* .log.2016-09-12) por DailyRollingFileAppender? – mvdb