tomcat 7 interne Protokollierung mit log4j2.xml
Ich versuche zu konfigurieren tomcat 7 interne Protokollierung mit log4j2
. Ich habe die Antwort auf Protokollierung von server-Klassen in Tomcat 6 mit log4j2.
Ich bin mit tomcat 7.0.54, und log4j-core-2.1.jar
, log4j-api-2.1.jar
.
Habe ich runter geladen, die extras und habe alle Schritte, aber wenn ich starten Sie tomcat, bekomme ich eine Fehlermeldung:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Diese sind die Schritte, die ich durchgeführt:
- setzen
log4j2.xml
im$CATALINA_BASE/lib
- download
tomcat-juli.jar
undtomcat-juli-adapters.jar
von "extras" - setzen
log4j-api-2.1.jar
,log4j-core-2.1.jar
,log4j-jul-2.1.jar
, undtomcat-juli-adapters.jar
von "extras" in$CATALINA_HOME/lib
. - ersetzen
$CATALINA_HOME/bin/tomcat-juli.jar
mittomcat-juli.jar
von "extras". - löschen
$CATALINA_BASE/conf/logging.properties
- legen Sie die logging-manager den manager aus der
log4j2-jul
Brücke (log4j-jul-2.1.jar
). Altercatalina.sh
um sicherzustellen, dass der classpath enthältbin/tomcat-juli.jar
,lib/log4j-jul-2.1.jar
,lib/log4j-api-2.1.jar
undlib/log4j-core-2.1.jar
wird, und der Befehl zum starten von tomcat beinhaltet
-Djava.util.die Protokollierung.manager=org.apache.die Protokollierung.log4j.jul.LogManager`
Ich habe sogar versucht, indem diese (LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_HOME/lib/log4j2.xml"
) in catalina.sh
aber hat nicht funktioniert.
Bitte lassen Sie mich wissen, wenn jemand könnte konfigurieren es erfolgreich.
InformationsquelleAutor Paramita Banerjee | 2015-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nahm ich die folgenden Schritte und es funktionierte für mich.
Der trick ist, Folgen Sie den offiziellen tomcat-7-Dokumentation setup log4J-1.X, sondern log4j2 Artefakte statt. Auch diese Lösung erfordert keine änderungen in $CATALINA_HOME/bin/catalina.sh oder einer anderen Datei $CATALINA_HOME/bin
Wo benötige ich für die erwähnten XML-Datei??
Siehe Schritt #4 in der Antwort oben
vielen Dank für die
Hi @bmaupin Danke für die Datei ist es großartig.
InformationsquelleAutor thorondor
Mein Fehler, ich brauchte, um zu zählen
$CATALINA_BASE/lib
im Klassenpfad fürlog4j2.xml
abgeholt werden.In der Tat, statt der Einstellung des CLASSPATH können Sie einfach definieren Sie die LOGGING_CONFIG variable wie folgt für log4j: LOGGING_CONFIG="-Dlog4j.configurationFile=${CATALINA_BASE}/conf/log4j2.xml" wenn Ihre Konfiguration Datei ${CATALINA_BASE}/conf/log4j2.xml.
InformationsquelleAutor Paramita Banerjee
Anzupassen, die folgende für Ihre installation:
Mein Tomcat 8.5.x befindet sich in /opt/tomcat/
1. Kopieren log4j2 jar-Dateien in das /opt/tomcat/lib/
(Für Windows verwenden, kopieren)
2. Erstellen /opt/tomcat/conf/log4j2.xml
3. Erstellen oder Bearbeiten von /opt/tomcat/bin/setenv.sh oder /opt/tomcat/bin/setenv.bat
Ohne klassenpfadeinstellung, die in setenv.sh/bat der ersten Tomcat-boot-loader nicht in der Lage sein, um Zugriff auf die Klasse org.apache.die Protokollierung.log4j.jul.LogManager und log4j2 Klassen. Setzen des CLASSPATH vor dem starten von Tomcat, wirkt sich nicht auf die erste Tomcat-boot-loader, da catalina.sh/bat unsets CLASSPATH vor der Ausführung von setenv.sh/bat
4. Anzeigen der Protokolle, die in /opt/tomcat/log/catalina.aus und beachten Sie die LOGJ2 Präfix aus der log42.xml
InformationsquelleAutor rjdkolb