Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:apache_tomcat_7_-_logging_-_log4j

Dies ist eine alte Version des Dokuments!


Apache Tomcat 7 - Logging - log4j

Apache Tomcat stellt eine Umgebung zur Ausführung von Java-Code für Web-Server bereit. Es handelt sich um einen Servlet-Container, der mithilfe des JSP-Compilers Jasper JavaServer Pages in Servlets übersetzen und ausführt. Zusätzlich ist ein kompletter HTTP-Server integriert.

Damit Apache Tomcat dessen eigene Log-Dateien wie z.B.

  • catalina.YYYY-MM-DD.out
  • host-manager.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • localhost_access_log.YYYY-MM-DD.txt
  • manager.YYYY-MM-DD.log

auch mithilfe von log4j aufbereiten und schreiben kann, sind nachfolgende Schritte notwendig.

Die Log-Dateien haben nach der Umstellung wieder nachfolgende Namen:

  • catalina.out
  • host-manager.log
  • localhost.log
  • manager.log

und können so durch Anpassung der Konfigurationsdatei

  • etc/logrotate.d/tomcat

wieder durch den Standard-Log-Rotrate-Mechanismus von CentOS rotiert werden!

:!: HINWEIS - Die Originalbeschreibung zur Einbindung von log4j, kann unter nachfolgendem Link aufgerufen werden:

Herunterladen

Nachfolgende Dateien müssen zur Nutzung von log4j für die Verwendung in eigenen Log-Dateien des Apache Tomcat heruntergeladen werden:

Nachfolgende Befehle können zum Download (in das /tmp-Verzeichnis) genutzt werden:

# wget http://apache.openmirror.de/tomcat/tomcat-7/v7.0.61/bin/extras/tomcat-juli-adapters.jar -P /tmp
--2015-05-08 10:38:12--  http://apache.openmirror.de/tomcat/tomcat-7/v7.0.61/bin/extras/tomcat-juli-adapters.jar
Resolving apache.openmirror.de (apache.openmirror.de)... 83.246.74.136
Connecting to apache.openmirror.de (apache.openmirror.de)|83.246.74.136|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31865 (31K) [application/java-archive]
Saving to: ‘/tmp/tomcat-juli-adapters.jar’

100%[======================================>] 31,865       199KB/s   in 0.2s   

2015-05-08 10:38:12 (199 KB/s) - ‘/tmp/tomcat-juli-adapters.jar’ saved [31865/31865]

und

# wget http://apache.openmirror.de/tomcat/tomcat-7/v7.0.61/bin/extras/tomcat-juli.jar -P /tmp
--2015-05-08 10:38:39--  http://apache.openmirror.de/tomcat/tomcat-7/v7.0.61/bin/extras/tomcat-juli.jar
Resolving apache.openmirror.de (apache.openmirror.de)... 83.246.74.136
Connecting to apache.openmirror.de (apache.openmirror.de)|83.246.74.136|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 75410 (74K) [application/java-archive]
Saving to: ‘/tmp/tomcat-juli.jar’

100%[======================================>] 75,410       325KB/s   in 0.2s   

2015-05-08 10:38:40 (325 KB/s) - ‘/tmp/tomcat-juli.jar’ saved [75410/75410]

:!: HINWEIS - Ausgangsseite für die oben genannten Downloads ist nachfolgender Link

:!: HINWEIS - Die Datei /usr/share/java/log4j.jar auf die der Link

  • /usr/share/tomcat/lib/log4j.jar

zeigt, ist Bestandteil der rpm-Pakete

  • log4j-1.2.17-15.el7.noarch

Installation

Die wie unter Apache Tomcat 7 - Logging - log4j - Herunterladen beschrieben, heruntergeladenen Dateien müssen nun in die Verzeichnisstruktur des Apache Tomcat kopiert werden, was mit nachfolgenden Befehlen durchgeführt werden kann:

tomcat-juli-adapters.jar

Die heruntergeladene Datei /tmp/tomcat-juli-adapters.jar, kann mit nachfolgendem Befehl in das Verzeichnis ($CATALINA_HOME/lib) bzw.

  • /usr/share/tomcat/lib

kopiert werden:

# mv /tmp/tomcat-juli-adapters.jar /usr/share/tomcat/lib

Anschließend sollten die Besitzrechte mit nachfolgendem Befehl auf root:root gesetzte werden:

# chown root:root /usr/share/tomcat/lib/tomcat-juli-adapters.jar

tomcat-juli.jar

Ein bisschen aufwendiger ist das unterbringen der heruntergeladenen Datei /tmp/tomcat-juli.jar, da diese normalerweise vorhanden ist, und ersetzt werden muss.

Zuerst sollte mit nachfolgendem Befehl in das Verzeichnis

  • /usr/share/tomcat/bin

gewechselt werden:

# cd /usr/share/tomcat/bin

Hier bereits eine Datei mit dem Namen tomcat-juli.jar, was mit nachfolgendem Befehl überprüft werden kann:

# ls -la /usr/share/tomcat/bin
total 148
drwxr-xr-x 2 root root     100 May  8 10:41 .
drwxrwxr-x 3 root tomcat    84 May  5 14:50 ..
-rw-rw-r-- 1 root tomcat 28684 Mar  6 06:54 bootstrap.jar
-rw-rw-r-- 1 root tomcat  2121 Mar  6 06:53 catalina-tasks.xml
-rw-r--r-- 1 root root   38700 Mar  6 06:54 tomcat-juli.jar

* Bitte die letzte Zeile beachten

Es empfiehlt sich eine Kopie/Sicherung der originalen Datei /usr/share/tomcat/bin/tomcat-juli.jar mit nachfolgendem Befehl durchzuführen:

# mv /usr/share/tomcat/bin/tomcat-juli.jar /usr/share/tomcat/bin/tomcat-juli.jar.orig

Um anschließend die heruntergeladene Datei /tmp/tomcat-juli.jar mit nachfolgendem Befehl in das Verzeichnis ($CATALINA_HOME/bin) bzw.

  • /usr/share/tomcat/bin

zu kopieren:

# mv /tmp/tomcat-juli.jar /usr/share/tomcat/bin

Anschließend sollten die Besitzrechte mit nachfolgendem Befehl auf root:root gesetzte werden:

# chown root:root /usr/share/tomcat/bin/tomcat-juli.jar

:!: HINWEIS - Der Grund für diese Vorgehensweise ist, das im Verzeichnis

  • /usr/share/tomcat/lib

ein Link auf die Datei

  • /usr/share/tomcat/bin/tomcat-juli.jar

verwendet wird!

Dies kann mit nachfolgendem Befehl überprüft werden:

# ls -la /usr/share/tomcat/lib/tomcat-juli.jar
lrwxrwxrwx 1 root root 37 May  5 14:50 /usr/share/tomcat/lib/tomcat-juli.jar -> /usr/share/tomcat/bin/tomcat-juli.jar

Konfiguration

Abschließend muss für den Einsatz von log4j für die Verwendung in eigenen Log-Dateien des Apache Tomcat ein wenig Konfigurationsarbeit geleistet werden.

logging.properties

Da die Konfigurationsdatei ($CATALINA_HOME/conf/logging.properties) bzw.

  • /usr/share/tomcat/conf/logging.properties

für den Einsatz mit tomcat-juli.jar in der gekürzten Version gedacht ist, wird diese nicht weiter benötigt, und kann gelöscht bzw. unbrauchbar gemacht werden, in dem diese Konfigurationsdatei mit nachfolgendem Befehl umbenannt wird:

# mv /usr/share/tomcat/conf/logging.properties /usr/share/tomcat/conf/logging.properties.orig

log4j.properties

Nun muss noch im Verzeichnis

  • /usr/share/tomcat/lib

die Konfigurationsdatei

  • log4j.properties

zur Nutzung von log4j erstellt werden, was mit nachfolgendem Befehl durchgeführt werden kann:

# vim /usr/share/tomcat/lib/log4j.properties

Der Inhalt der Konfigurationsdatei /usr/share/tomcat/lib/log4j.properties, kann wie nachfolgend dargestellt aussehen:

log4j.rootLogger=INFO, CATALINA
 
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.out
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
 
log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.log
log4j.appender.LOCALHOST.Append=true
log4j.appender.LOCALHOST.Encoding=UTF-8
log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
 
log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File=${catalina.base}/logs/manager.log
log4j.appender.MANAGER.Append=true
log4j.appender.MANAGER.Encoding=UTF-8
log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
 
log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.log
log4j.appender.HOST-MANAGER.Append=true
log4j.appender.HOST-MANAGER.Encoding=UTF-8
log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
 
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=INFO, HOST-MANAGER

Neustart Apache Tomcat

Zur Aktivierung der durchgeführten Änderungen, sollte ein Neustart des Apache Tomcat durchgeführt werden, was mit nachfolgendem Befehl realisiert werden kann:

# systemctl restart tomcat.service

Nach erfolgreichem Restart, sollten die Log-Meldungen des Apache Tomcat nun wie folgt aussehen, hier am Beispiel von /usr/share/tomcat/logs/catalina.out



Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/apache_tomcat_7_-_logging_-_log4j.1431075864.txt.gz · Zuletzt geändert: 2015/05/08 11:04 von klaus