Wie setze ich CATALINA_HOME in log4j.xml?

7

Ich brauche so etwas:

"Parametername=" Datei "Wert=" $ {CATALINA_HOME} /logs/log4j.log "

Ich sah viele ähnliche Fragen, aber es gibt keine funktionierenden Lösungen.

    
trierra 26.05.2012, 20:50
quelle

3 Antworten

4

Sie können Folgendes tun:

  1. Senden Sie CATALINA_HOME als Umgebungsvariable mit der Option -D . Sie müssen nur
  2. ausführen

set JAVA_OPTS=%JAVA_OPTS% -DCATALINA_HOME=%CATALINA_HOME% wenn Sie Windows oder export JAVA_OPTS=${JAVA_OPTS} -DCATALINA_HOME=$CATALINA_HOME für Unix.

Verwenden Sie jetzt einfach $ {CATALINA_HOME} in Ihrer log4j Konfigurationsdatei und das sollte funktionieren.

    
AlexR 26.05.2012, 21:02
quelle
11

Für Tomcat 6.0 oder neuer verwenden Sie catalina.base (anstatt catalina.home ):

param name="File" value="${catalina.base}/logs/log4j.log"

Abhängig vom Host-System können die beiden abweichen, zum Beispiel:

%Vor%

Unter catalina.home befindet sich der Ordner bin .

Unter catalina.base gibt es conf , logs , webapps und andere Ordner / Links.

Tomcat verwendet catalina.base selbst, um das Protokollierungsverzeichnis zu konfigurieren - siehe conf/logging.properties , wo es heißt:

%Vor%     
Markus Pscheidt 10.06.2013 15:23
quelle
10

param name="File" value="${catalina.home}/logs/log4j.log"

Die Eigenschaft catalina.home wurde bereits von Tomcat zur Verfügung gestellt.

Finden Sie ein (sehr) kurzes Beispiel auf der Tomcat 5.5-Protokollierungsseite und zusätzlich Detail in der folgenden SO Frage:

Log4j, Konfigurieren einer Web App für die Verwendung eines relativer Pfad

    
Ryan Stewart 26.05.2012 21:14
quelle

Tags und Links