-
Configuration de Log4j
Bonjour,
J'utilise l'api log4j pour générer les logs dans un fichier, tout fonctionne normalement en lançant l'exécution sous Eclipse, mais quand j'exporte l'application sous forme d'un jar exécutable le système de log ne fonctionne plus :( Je pense que c'est du au fait que le log4j.properties se trouve dans le jar lui même ... ??
Qulqu'un aurai une piste pour résoudre le problème ?
Merci par avance,
-
Tu as raison : pour que ça remarche, il suffit d'ajouter log4j.properties dans ton jar.
Cependant, c'est déconseillé... si tu procèdes ainsi, la configuration de tes loggers devient inaccessible. Il vaut donc mieux laisser ce fichier à l'extérieur, et l'ajouter au classpath au moment du lancement de ton application, en ligne de commandes. Si ta configuration log4j est dans un répertoire "conf" :
Code:
java -cp lib/log4j.jar:tonProgramme.jar:conf/ TaClasseMain
PS: pour la configuration de log4j, log4j.xml est recommandé plutôt que log4j.properties (cf. les tutoriaux de developpez.com)
-
tu as aussi l'option de charger toi même le fichier dec onfig, tu peux ainsi le récupérer d'où tu veux.
PropertyConfigurator.configure(URL)
DomConofigurator.configure(URL)
-
Merci d'avoir réagi
Oui, mais comment dire à log4j comme quoi son fichier log4j.properties se trouve ailleurs que dans le répertoire src ? Car par défaut il se trouve à la racine du projet ...
-
Ou alors tu peux aussi passer la propriété lors du lancement :
Code:
java -Dlog4j.configuration="path/to/log4j.properties" ...
Dans Eclipse, il suffit de modifier les paramètres de lancement de ton application.