Chargement des propriétés log4j à partir d'un package dans Java
Dans mon application java swing-je charger des propriétés log4j à partir d'un fichier de propriétés stockées dans un package dans l'application et j'ai charger ce fichier de propriétés comme,
try {
PropertyConfigurator.configure("conf/log4j.properties");
logger.info("Starting the system.");
} catch (Exception e) {
e.printStackTrace();
}
Puis-je obtenir le message d'erreur suivant lorsque l'application démarre,
log4j:ERROR Could not read configuration file [conf/log4j.properties].
java.io.FileNotFoundException: conf/log4j.properties (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:97)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
at com.bio.ofm.mnu.views.SplashScreen$1.run(SplashScreen.java:70)
at java.lang.Thread.run(Thread.java:722)
log4j:ERROR Ignoring configuration file [conf/log4j.properties].
log4j:WARN No appenders could be found for logger (com.bio.ofm.mnu.views.SplashScreen).
log4j:WARN Please initialize the log4j system properly.
Est cette façon de chargement de fichier de propriétés est mal? s'il vous plaît aider.
- Je construire un .jar fichier et exécutez l'application à l'aide de ce pot**
source d'informationauteur Harsha
Vous devez vous connecter pour publier un commentaire.
Si la conf est le dossier source, vous pouvez utiliser:
autre chose que vous pouvez essayer ceci:
La
LogManager
automatiquement classe va chercher un fichier nommélog4j.properties
oulog4j.xml
dans leclasspath
utilisé pour charger les classes log4j. Jusqu'à la version 1.2.6, log4j serait recherchez seulement lalog4j.properties
fichier dans le classpath. Depuis la version 1.2.7, log4j recherche pourlog4j.properties
etlog4j.xml
dans le classpath.Il suffit de placer log4j fichier dans le package par défaut. Vous devez également vous assurer que le fichier est dans le répertoire de
.class
.- Je utiliser le Rachel bibliothèque java http://rachel.sourceforge.net/ beaucoup pour ce genre de trucs
Télécharger la lib et l'ajouter à votre chemin de classe. Ensuite, vous pouvez l'utiliser comme pour charger un fichier à partir d'un fichier JAR /paquet et il fonctionne aussi lors de l'utilisation de JNLP les applications déployées. Ils ont beaucoup de bons tutoriels pour lire sur la meilleure façon de charger votre fichier. J'ai l'habitude de charger les inputstreams.