variable commune pour la configuration de log4j.xml
J'ai log4j.xml configuration comme ceci:
<appender name="MyAppender"class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/logs/custom/my.log"/>
...
</appender>
Cependant le répertoire racine de mon dossier sont les mêmes pour beaucoup de appender. Est-il un moyen pour définir "/logs/custom/" comme une variable et réutilisés dans tous mes appender.
Merci,
Sean
source d'informationauteur Sean Nguyen
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR: La réponse originale à cette question s'applique à Log4j 1.x
Log4j 2.x a beaucoup plus de soutien pour les propriétés dans le fichier de configuration, voir la Log4j manuel sur Configuration avec des propriétés.
Log4j 1.x (l'original de la réplique):
La seule façon d'obtenir quelque chose de similaire lorsque vous utilisez
log4j.xml
est de définir un système de propriété au démarrage et ensuite de référence à partir de votrelog4j.xml
.Au démarrage, vous définissez votre système de propriété:
Ou défini par programmation au moment de l'exécution (avant l'initialisation de Log4j):
Vous pouvez y faire référence comme ceci:
Ou dans les propriétés du fichier, comme ceci:
Source: j'ai eu l'inspiration pour cette réponse de À l'aide de variables d'environnement système dans log4j de configuration xml.
Aussi, si vous exécutez sous Tomcat, vous pouvez utiliser
${catalina.home}
variable, comme ceci:Il est possible en XML ainsi de définir une variable et le réutiliser dans le reste de la doc:
Puis reportez-vous à cette variable définie comme &logHome;
Comment à ce sujet?
(Je crois que j'ai appris l'entité XML références il y a quelques temps sur ce lien: http://www.ibm.com/developerworks/xml/library/x-tipentref/index.html)
Je ne crois pas que cela est possible à l'aide de XML de configuration, mais il est dans un .fichier de propriétés de configuration: