Chargement de Log4j.xml de l'extérieur pour la guerre
Dans mon application iam utilisation de Log4j pour la journalisation.Actuellement, je suis en plaçant log4j.xml dans WEB-INF/classes.
Voici les configurations que j'utilise de la charge log4j.xml fichier.
<!-- language: xml -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
Maintenant, j'ai besoin de place log4j.xml fichier en dehors de mon fichier war. L'emplacement sera probablement JBOSS_HOME/server/default/deploy/paramètres. Dans les paramètres de répertoire j'ai besoin de placer mon log4j.xml.
J'ai essayé de le charger par la configuration de jboss chemin de classe, par l'édition d'exécuter.chauve-souris comme suit
ensemble JBOSS_CLASSPATH=%RUN_CLASSPATH%;%JBOSS_HOME%\server\default\deploy\paramètres
et j'ai utilisé ci-dessous dans web.xml
<!-- language: xml -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
Mais il en jetant exception lors du déploiement de l'application. Exception est
java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation' parameter: class path resource [/log4j.xml] cannot be resolved to URL because it does not exist
Maintenant, ma question est comment puis-je le charger.
source d'informationauteur Narendra
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement déclarer l'emplacement de configuration log4j comme ceci:
N'oubliez pas d'ajouter "file://" devant le de chemin, ou bien il va rechercher à l'intérieur de la webapp.
L'exemple suivant fonctionne pour moi.
J'ai eu la même exception.
J'avais utilisé ce code:
Cette exception disparu quand j'ai exécuté:
Vous pouvez utiliser:
À l'intérieur de votre log4jConfigLocation tag.
Attention à ajouter file:/// si le chemin est absolu (en dehors de la webapp dossier)
Vous pouvez le configurer comme ceci dans le web.xml fichier:
Remarque: pour windows environnement commence par un double "/" type "fichier://". Pour un environnement linux avec le sigle "/" type "fichier:/" .
La syntaxe de log4j2 c'est un peu différent: utilise
log4jConfiguration
param.Reportez-vous à ces réponses:
@rgoers
@Gowtham