¿Cómo puedo ajustar los niveles de log4j en tiempo de ejecución?
Pregunta
Tengo una aplicación web simple que se ejecuta en Tomcat 5.5 con log4j para el registro. De vez en cuando necesito presionar el registro a DEBUG, pero la mayoría de las veces estoy contento con INFO.
Puedo cambiar mi configuración xml y reiniciar la aplicación, pero preferiría cambiar los niveles de registro sobre la marcha. ¿Hay una técnica estándar para esto?
Solución
Simplemente use el programa API :
logger.setLevel(Level.DEBUG)
en su programa cuando necesite una salida de registro más detallada, y
logger.setLevel(Level.INFO)
para hacerlo menos detallado de nuevo.
Otros consejos
Creé un nuevo módulo de aplicación java (jar) para hacer esto en una interfaz web en tiempo de ejecución, y también tengo una página para ver el resultado del registro.
Configurar el jar es muy sencillo: debe colocarse en la carpeta / WEB-INF / lib
y agregar una asignación al servlet en /WEB-INF/web.xml
archivo.
Sitio del proyecto: http://www.log4jwebtracker.com