J'ai des problèmes de poser mon fichier log4j.properties sur la classe de classe. Je peux l'utiliser lorsque je développe (Eclipse Indigo), mais lorsque j'exporte mon application en tant que pot, je ne peux pas.
J'ai fait à la main un fichier manifeste.mf pour le pot exporté: p> et ensuite avec mettre le pot sur cette organisation de fichier: p> Quand j'essaie d'exécuter app.jar, ils trouvent log4j.jar mais pas log4j.properties:log4j.rootLogger=INFO, stdout, file
PATTERN=[%d] [%p] [%c{1}]: %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=${PATTERN}
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=${logger_file_path}
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=${PATTERN}
6 Réponses :
Ne pas mettre le log4j.properties code> dans le path de classe, mais le répertoire contenant ce fichier.
Class-Path: lib lib/log4j-1.2.15.jar
J'ai déjà corrigé la modification des programmes log4j.properties dans le "dossier" (où le pot existe) et change le chemin de classe vers ". Lib / log4j-1.2.15.jar". Avant cela, j'ai essayé plusieurs dossiers de «liber» (par exemple / lib /, lib / ,./lib/) et aucun d'entre eux n'a travaillé.
Un vieux fil, mais je veux juste ajouter que cette approche fonctionne vraiment. Une autre bonne chose à propos de cette approche est qu'un utilisateur peut réellement modifier le niveau de journal s'ils veulent, car le fichier de configuration est en dehors de n'importe quel pot.
Ajouter log4j.properties code> à
app.jar code>. p>
Pour l'instant, je préfère l'avoir à l'extérieur
Il y a trois façons de savoir. p>
log4j.properties code> à app.jar code> li>
- Mettez le
log4j.properties code> dans le "dossier" (où le pot existe) et modifie la trajectoire de classe sur .Lib / log4j-1.2.15.jar code> . li>
- mettre le
log4j.properties code> sur le dossier nommé "Conf" par exemple, puis modifiez le chemin de classes sur ./ conf / code>. Li>.
ol>
J'ai essayé, ça marche. P>
Merci beaucoup. Mon anglais est très mauvais!
Un moyen de plus de faire ceci:
-dlog4j.configuration = fichier: "./ log4j.properties" code> p>
Pour log4J version 2 Utilisation: -Dlog4j.configurationFile = fichier: "Yourpathhere / log4j2.xml"
essayer d'exécuter: p>
javar -jar -dlog4j.configuration = fichier: "./ log4j.properties" app.jar p>
J'ai essayé la réponse de Jesper et, au début, cela ne fonctionnait pas. Ensuite, j'ai essayé avec et cela a fonctionné après cela. P> p>