2012-12-03 2 views
0

Est-il possible d'ajouter ou de remplacer la configuration de log4j précédemment chargée par le fichier log4j.xml avec un autre fichier log4j.xml chargé lors de l'exécution?Remplacer la configuration de log4j par un autre fichier log4j.xml

Mon serveur Glassfish se charge au démarrage du fichier log4j.xml et je voudrais changer cette configuration avec un autre fichier log4j.xml dans le fichier EAR.

J'ai essayé d'utiliser DOMConfigurator.configure("log4j.xml") mais il semble que la configuration précédente ne soit pas écrasée (mais cette méthode trouve le fichier log4j.xml car lorsque je change de fichier non existant, j'ai une exception).

Comment puis-je faire cela s'il vous plaît?

Répondre

2

Un log4j Configurator applique toujours sa configuration à partir des paramètres "en cours". Si vous souhaitez que les nouveaux paramètres remplacent les anciens, appelez d'abord le LogManager.resetConfiguration() avant d'appeler le DOMConfigurator.

+0

Je l'ai testé avant mais pour mon cas, ça ne marche pas. Le contexte est: log4j.xml chargé au démarrage de Glassfish et je veux que ce fichier soit surchargé par un autre fichier log4j.xml dans le projet EAR. Je teste cette servlet interne qui est chargée au démarrage ( 1) –

+0

Ok, j'ai trouvé le problème. DOMConfigurator.configureAndWatch ("log4j.xml"); charge le fichier log4j.xml dans Glassfish (celui déjà chargé ...) pas le nouveau dans mon EAR, je ne sais pas pourquoi –

Questions connexes