log4j

log4j - Java - Programmation

Marsh Posté le 22-07-2004 à 14:32:45    

grr... je sèche lamentablement depuis 1h...
 
Soit une appli.
Elle utilise log4j.
Elle utilise la classpath standard du système $CLASSPATH
Dans ce classpath que je ne contrôle pas et que je ne peux pas changer se trouve un fichier log4j.properties.
 
Je veux que mon appli utilise son propre log4j.properties.
 
Si je ne fais rien, elle utilise celui qu'elle trouve dans le classpath et pollue les logs d'une autre appli.
 
Si je passe à mon appli -classpath $MONLOG4J:$CLASSPATH, elle utilise quand même le log4j qu'elle trouve dans $CLASSPATH
 
Quand j'essaye de passer à mon appli -Dlog4j.configuration=/monChemin/log4j.properties
 
Je me prends :

Code :
  1. log4j:WARN No appenders could be found for logger
  2. log4j:WARN Please initialize the log4j system properly.


 
Une idée ??


Message édité par krosso le 22-07-2004 à 14:33:38
Reply

Marsh Posté le 22-07-2004 à 14:32:45   

Reply

Marsh Posté le 22-07-2004 à 14:41:59    

OK, j'ai compris... j'avais mal lu la doc de log4j :
log4j.configuration sert à donner un autre nom que log4j.properties
 
et ça marche très bien.
 
 

Reply

Marsh Posté le 22-07-2004 à 17:15:25    

si ton appli est exécutée dans un serveur d'application, tu peux aussi utiliser les classloaders pour faire ca.
Par exemple tu mets ton log4j.properties dans le WEB-INF/classes de ton appli, et log4j le trouvera à cet endroit là en premier.

Reply

Marsh Posté le 22-07-2004 à 17:49:36    

Dans le cas présent, ce n'était pas une webapp.

Reply

Marsh Posté le 22-07-2004 à 22:07:46    

t'as aussi l'option d'initializer log4j toi meme pour ta vm avec les xxxConfigurator
(au lieu de le laisser trouver un log4j.properties sur le classpath)
 
http://logging.apache.org/log4j/do [...] rator.html


Message édité par the real moins moins le 22-07-2004 à 22:09:05

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 22-07-2004 à 22:09:31    

d'ailleurs je crois avoir déjà posté du code ici qui utilisait le DomConfigurator (dans un ServletContextListener mais bon)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 22-07-2004 à 23:22:02    

tu devrais mettre un appender static une fois pour toute dans ton application, puisque tu vas tout le temps utiliser le même.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed