Merci pour la réponse c'est cela que j'utilise. En fait le problème vient d'autre chose. J'ai plusieurs serveurs dans lesquels mon appli doit fonctionner : - machine w2000 tomcat 4.0.x jdk1.4 - machine unix tomcat 4.0.x jdk1.3.1 - machine unix easserver 3.6.1 jdk1.2 Et il s'avère que je dois recompiler l'ensemble des mes class à chaque fois en précisant la version de la jvm (attribut target dans tache ant javac) et tout fonctionne Le problème vient de(s) la(es) ligne(s) : private static org.apache.log4j.Logger logger=org.apache.log4j.Logger.getLogger(nom complet de la class) Et si je ne recompile la class pour l'utiliser avec une cible différente de celle avec la compil précédente a été effectuée j'ai une erreur bizarre ! Ou alors quelqu'un a une explication (je sens que tout cela va générer un TROLL :-))) ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Wednesday, October 09, 2002 1:29 PM Subject: Réf. : initialisation de log4j par une servlet -> erreur
J'ai testé Log4j sous Tomcat, Weblogic, initialisé par son fichier properties ou par le web.xml (quand l'appli est sous format .war ou .ear par exemple), donc je pourrai te renseigner sur ce mode de fonctionnement si c'est ça ta question... > En fait, je cherche à faire une initialisation dynamique de log4j. En gros, > en production le level sera à INFO ou WARN mais en cas d'erreur je dois > pouvoir modifier mon fichier de propriétés pour mettre le level sur DEBUG et > avoir ainsi plus d'infos tout cela en réinitialisant ma servlet et du même > coup log4j. c'est justement comme ça que fonctionne Log4j, ca tombe bien ;o) tu trouveras ci-joint un exemple de fichier properties, et le paramètre du web.xml qui indique où il est placé est de ce type : <servlet> <servlet-name>log4j-init</servlet-name> <servlet-class>BE.com.Log4jInit</servlet-class> <init-param> <param-name>log4j-init-file</param-name> <param-value>WEB-INF/lib/log4j.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> (See attached file: log4j.properties) Essaie de supprimer la ligne <load on startup>, et de lancer manuellement la servlet log4j. Le message d'erreur sera peut-être plus clair... Essaie aussi de récupérer une version différente de log4j.jar. A+) Vincent PS : J'ai apparemment un "bug" quand j'envoie des mails sur la mailing-list, apparemment le sujet du mail est perdu (j'ai mis pour ce mail : "Réf. : initialisation de log4j par une servlet -> erreur", très original...), et je ne reçois pas les mails que j'envoie (mais la mailing list, oui). Si quelqu'un connait la cause de ce problème, je suis preneur (et si y'a la solution avec, c'est encore + cool ;o) format html au lieu de texte ? utilisation de Lotus Notes pour envoyer les mails ? proxy qui filtre ? pare-feu ?