Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:apache_tomcat_6_-_logging_-_log4j

Apache Tomcat 6 - 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.out
  • localhost.log
  • manager.log
  • host-manager.log
  • u.v.m

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

:!: 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.mirror.iphh.net/tomcat/tomcat-6/v6.0.35/bin/extras/tomcat-juli-adapters.jar -P /tmp
--2012-08-03 15:17:54--  http://apache.mirror.iphh.net/tomcat/tomcat-6/v6.0.35/bin/extras/tomcat-juli-adapters.jar
Resolving apache.mirror.iphh.net... 62.201.161.83, 2001:868:0:182::3
Connecting to apache.mirror.iphh.net|62.201.161.83|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22995 (22K) [application/java-archive]
Saving to: “/tmp/tomcat-juli-adapters.jar”

100%[=============================================================================>] 22,995      --.-K/s   in 0.1s    

2012-08-03 15:17:54 (211 KB/s) - “/tmp/tomcat-juli-adapters.jar” saved [22995/22995]

und

# wget http://apache.mirror.iphh.net/tomcat/tomcat-6/v6.0.35/bin/extras/tomcat-juli.jar -P /tmp
--2012-08-03 15:16:43--  http://apache.mirror.iphh.net/tomcat/tomcat-6/v6.0.35/bin/extras/tomcat-juli.jar
Resolving apache.mirror.iphh.net... 62.201.161.83, 2001:868:0:182::3
Connecting to apache.mirror.iphh.net|62.201.161.83|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 69183 (68K) [application/java-archive]
Saving to: “/tmp/tomcat-juli.jar”

100%[=============================================================================>] 69,183       310K/s   in 0.2s    

2012-08-03 15:16:43 (310 KB/s) - “/tmp/tomcat-juli.jar” saved [69183/69183]

:!: 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/tomcat6/lib/log4j.jar

zeigt, ist Bestandteil der rpm-Pakete

  • log4j-1.2.14-6.4.el6.x86_64 - 64-bit-Variante
  • tomcat6-lib-6.0.24-45.el6.noarch

und sollte durch die Installation der oben genannten rpm-Pakete bereits vorhanden sein.

Installation

Die wie unter Apache Tomcat 6 - 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/tomcat6/lib

kopiert werden:

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

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

# chown root:root /usr/share/tomcat6/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/tomcat6/bin

gewechselt werden:

# cd /usr/share/tomcat6/bin

Hier besteht ein Link mit dem Namen tomcat-juli.jar, was mit nachfolgendem Befehl überprüft werden kann:

# ls -la
total 64
drwxr-xr-x 2 root root  4096 Jul 11 10:29 .
drwxrwxr-x 4 root root  4096 Jul 11 10:29 ..
-rw-rw-r-- 1 root root 21955 Jun 22 16:56 bootstrap-6.0.24.jar
lrwxrwxrwx 1 root root    20 Jul 11 10:29 bootstrap.jar -> bootstrap-6.0.24.jar
-rw-rw-r-- 1 root root  2374 Jun 22 16:55 catalina-tasks.xml
-rw-rw-r-- 1 root root 25782 Jun 22 16:56 tomcat-juli-6.0.24.jar
lrwxrwxrwx 1 root root    22 Jul 11 10:29 tomcat-juli.jar -> tomcat-juli-6.0.24.jar

* Bitte die letzte Zeile beachten

Dieser Link kann mit nachfolgendem Befehl gelöst/gelöscht werden:

# unlink /usr/share/tomcat6/bin/tomcat-juli.jar

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

  • /usr/share/tomcat6/bin

zu kopieren:

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

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

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

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

  • /usr/share/tomcat6/lib

ein Link auf die Datei

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

verwendet wird!

Dies kann mit nachfolgendem Befehl überprüft werden:

# ls -la /usr/share/tomcat6/lib/tomcat-juli.jar
lrwxrwxrwx 1 root root 38 Jul 11 10:29 /usr/share/tomcat6/lib/tomcat-juli.jar -> /usr/share/tomcat6/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/tomcat6/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/tomcat6/conf/logging.properties /usr/share/tomcat6/conf/logging.properties.orig

log4j.properties

Nun muss noch im Verzeichnis

  • /usr/share/tomcat6/lib

die Konfigurationsdatei

  • log4j.properties

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

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

Der Inhalt der Konfigurationsdatei /usr/share/tomcat6/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:

# service tomcat6 restart
Stopping tomcat6:                                          [  OK  ]
Starting tomcat6:                                          [  OK  ]

Nach erfolgreichem Restart, sollten die Log-Meldungen des nun wie folgt aussehen, hier am Beispeil von /usr/share/tomcat6/logs/catalina.out (nur relevanter Ausschnitt):

...
INFO: Stopping Coyote AJP/1.3 on ajp-127.0.0.1-8009
2012-08-03 16:01:27,318 [main] INFO  org.apache.catalina.core.AprLifecycleListener- Loaded APR based Apache Tomcat Native library 1.1.22.
2012-08-03 16:01:27,319 [main] INFO  org.apache.catalina.core.AprLifecycleListener- APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2012-08-03 16:01:27,618 [main] INFO  org.apache.coyote.http11.Http11AprProtocol- Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080
2012-08-03 16:01:27,618 [main] INFO  org.apache.coyote.ajp.AjpAprProtocol- Initializing Coyote AJP/1.3 on ajp-127.0.0.1-8009
2012-08-03 16:01:27,618 [main] INFO  org.apache.catalina.startup.Catalina- Initialization processed in 699 ms
2012-08-03 16:01:27,635 [main] INFO  org.apache.catalina.core.StandardService- Starting service Catalina
2012-08-03 16:01:27,635 [main] INFO  org.apache.catalina.core.StandardEngine- Starting Servlet Engine: Apache Tomcat/6.0.24
...
2012-08-03 16:01:36,908 [main] INFO  org.apache.coyote.http11.Http11AprProtocol- Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
2012-08-03 16:01:36,948 [main] INFO  org.apache.coyote.ajp.AjpAprProtocol- Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
2012-08-03 16:01:36,954 [main] INFO  org.apache.catalina.startup.Catalina- Server startup in 9335 ms
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_6_-_logging_-_log4j.txt · Zuletzt geändert: 2012/10/07 15:37 von klaus