OVH Cloud OVH Cloud

LOG4J : désallouer un logger

3 réponses
Avatar
Kupee
Salut, j'ai un problème avec log4j : j'aimerai pouvoir supprimer des
loggers. En effet la classe Hierarchy semble les stocker dans une
hashtable, et il n'y a aucun moyen d'enlever un simple logger de cette
table,et cette table n'est jamais purgée. une idée ?

3 réponses

Avatar
Hervé AGNOUX
Kupee wrote:

Salut, j'ai un problème avec log4j : j'aimerai pouvoir supprimer des
loggers. En effet la classe Hierarchy semble les stocker dans une
hashtable, et il n'y a aucun moyen d'enlever un simple logger de cette
table,et cette table n'est jamais purgée. une idée ?


Peut être lire la faq de log4j :-)

"3.2 Logger instances seem to be create only. Why isn't there a method to
remove logger instances?"
http://logging.apache.org/log4j/docs/faq.html#3.2

(mais ce n'est pas une très bonne nouvelle)


Cordialement.


--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
Didier Bolf
il y a une method clear sur le repo,
je sais pas si ça peut t'aider :

Hierarchy lr = (Hierarchy) Logger.getRootLogger().getLoggerRepository();
lr.clear();


"Kupee" wrote in message news:4256a2a1$0$22174$
Salut, j'ai un problème avec log4j : j'aimerai pouvoir supprimer des
loggers. En effet la classe Hierarchy semble les stocker dans une
hashtable, et il n'y a aucun moyen d'enlever un simple logger de cette
table,et cette table n'est jamais purgée. une idée ?


Avatar
Kupee
Hervé AGNOUX wrote:
Salut, j'ai un problème avec log4j : j'aimerai pouvoir supprimer des
loggers. En effet la classe Hierarchy semble les stocker dans une
hashtable, et il n'y a aucun moyen d'enlever un simple logger de cette
table,et cette table n'est jamais purgée. une idée ?



Peut être lire la faq de log4j :-)

"3.2 Logger instances seem to be create only. Why isn't there a method to
remove logger instances?"
http://logging.apache.org/log4j/docs/faq.html#3.2

(mais ce n'est pas une très bonne nouvelle)


Oui très mauvaise même je suis parti pour réécrire tout log4j, car
l'implémentation semble assez bancale en fait. Je voulais écrire mon
propre repository pour gérer le stockage de mes loggers ce qui semble au
premier abord permis par log4j, mais en fait quand on regarde le code de
leur classe Hierarchy, ils font appel a au moins une méthode du Logger
visible dans le package uniquement, et donc bref impossible apparament
de remplacer le Repository :(