2009-07-29 6 views
9

J'ai une application web simple fonctionnant sur Tomcat 5.5 avec log4j pour la journalisation. De temps en temps j'ai besoin de pousser la journalisation vers DEBUG mais la plupart du temps je suis content avec INFO.Comment ajuster les niveaux de log4j lors de l'exécution?

Je peux changer mon config xml et redémarrer l'application mais je préférerais changer les niveaux de journal à la volée. Existe-t-il une technique standard pour cela?

+0

Vous envisagez d'exposer l'enregistreur via JMX? –

Répondre

5

Il suffit d'utiliser le API programmatique:

logger.setLevel(Level.DEBUG) 

dans votre programme lorsque vous avez besoin de syslog plus bavard et

logger.setLevel(Level.INFO) 

pour le rendre encore moins bavard.

+0

Si vous utilisez weblogic, ils disposent d'un JSP supplémentaire qui vous permet d'ajuster tous les journaux en cours d'exécution à l'aide de cette API. –

5

J'ai créé un nouveau module d'application java (jar) pour le faire dans une interface Web à l'exécution, et j'ai également une page pour voir le résultat du journal. Configurer le fichier jar est très simple: doit être placé dans le dossier /WEB-INF/lib et ajouter un mappage au servlet dans le fichier /WEB-INF/web.xml.

Site du projet: http://www.log4jwebtracker.com

Questions connexes