common variable für log4j.xml Konfiguration
Habe ich log4j.xml Konfiguration wie diese:
<appender name="MyAppender"class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/logs/custom/my.log"/>
...
</appender>
Jedoch das root-Verzeichnis meiner Datei sind die gleichen für eine Menge von Appen. Gibt es eine Möglichkeit, den vorgegebenen "/logs/custom/" als variable und wiederverwendet werden, es in alle meine appender.
Dank,
Sean
InformationsquelleAutor der Frage Sean Nguyen | 2011-09-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
UPDATE: Die ursprüngliche Antwort gilt Log4j 1.x
Log4j 2.x hat viel umfangreichere Unterstützung für Eigenschaften im Konfigurations-Datei finden Sie die Log4j-Dokumentation über Konfiguration mit Eigenschaften.
Log4j-1.x (die original-Antwort):
Der einzige Weg, etwas zu erreichen, ähnlich, wenn Sie mit
log4j.xml
ist es, ein system-property beim Start und dann darauf verweisen, dass aus Ihrerlog4j.xml
.Beim Start, setzen Sie Ihr system Eigenschaft:
Oder programmgesteuert zur Laufzeit (vor dem initialisieren Log4j):
Dann können Sie darauf verweisen, wie diese:
Oder in den Eigenschaften der Datei, wie diese:
Quelle: ich bekam die inspiration für diese Antwort von Die Verwendung von Umgebungsvariablen des Systems in log4j xml Konfiguration.
Auch, wenn Sie unter Tomcat verwenden, können Sie
${catalina.home}
variable, so:InformationsquelleAutor der Antwort Neeme Praks
Ist es möglich, in XML-als auch eine variable definieren und verwenden es im rest der doc:
Dann finden Sie diese variable nur definiert ist, da &logHome;
Wie das?
(Ich glaube, dass ich gelernt, über XML-entity-Referenzen vor einiger Zeit unter diesem link: http://www.ibm.com/developerworks/xml/library/x-tipentref/index.html)
InformationsquelleAutor der Antwort user185624
Ich glaube nicht, dass dies möglich ist, mit XML-Konfiguration, aber es ist in einem .Eigenschaften-Datei-Konfiguration:
InformationsquelleAutor der Antwort matt b