Ok, donc j'ai cette stupide bibliothèque que j'utilise (documentum DFC), qui fait une vérification pour voir si Logger.getRootLogger().getAllAppenders().hasMoreElements() == false
, si c'est le cas, il réinitialise mon niveau rootLogger à WARN
, ce qui détruit ma journalisation après ça . Donc, dans un effort pour arrêter cela, je tente d'ajouter un appender à l'enregistreur de racine juste pour voir si je peux l'obtenir pour arrêter de faire ce code. Cependant quand j'appelleAjout de programmeurs Log4J par programme
Logger.getRootLogger().addAppender(new ConsoleAppender());
cette fonction est encore à venir faux. Est-ce que quelqu'un a rencontré cela? J'utilise quelle que soit la version de log4j fournie avec jboss 6, elle ne dit pas dans le nom du fichier .jar.
Peut-être que log4j est chargé à partir de deux chargeurs de classe différents, donc vous avez deux enregistreurs de racine différents ? Ou peut-être un autre code supprime l'appender après l'avoir ajouté? –
@ user428916: Si vous voulez vérifier la valeur false, ne faites pas l'opérateur '=='. Utilisez-le simplement comme ceci: if (! Logger.getRootLogger(). GetAllAppenders(). HasMoreElements()) '. –