Sie können Folgendes tun:
CATALINA_HOME
als Umgebungsvariable mit der Option -D
. Sie müssen nur 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.
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:
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