Come posso regolare i livelli di log4j in fase di esecuzione?
Domanda
Ho una semplice app Web in esecuzione su Tomcat 5.5 con log4j per la registrazione. Occasionalmente ho bisogno di spingere la registrazione su DEBUG ma la maggior parte delle volte sono contento di INFO.
Posso cambiare il mio config xml e riavviare l'app ma preferirei cambiare i livelli di registro al volo. Esiste una tecnica standard per questo?
Soluzione
Basta usare il programmatico API :
logger.setLevel(Level.DEBUG)
nel tuo programma quando hai bisogno di un output di registrazione più dettagliato, e
logger.setLevel(Level.INFO)
per renderlo di nuovo meno prolisso.
Altri suggerimenti
Ho creato un nuovo modulo di applicazione Java (jar) per farlo in un'interfaccia web in fase di runtime e ho anche una pagina per visualizzare il risultato del registro.
Configurare il vaso è molto semplice: deve essere collocato nella cartella / WEB-INF / lib
e aggiungere un mapping al servlet nella /WEB-INF/web.xml
file.
Sito del progetto: http://www.log4jwebtracker.com