Tomcat6 WebApp Verwenden Sie Log4j zum Protokollieren und können Sie sich nicht bei Syslog protokollieren

StackOverflow https://stackoverflow.com/questions/1300003

Frage

Ich versuche, meine WebApp -Protokolle auf Local4 -Ebene in Syslog zu protokollieren. Umgebung: Tomcat6, OpenSolaris, Struts2, Log4j. Inhalt meines log4j.properties lautet wie folgt.

log4j.rootLogger=INFO, SYSLOG
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost=localhost
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern=%d [%t] %-5p - %m%n
log4j.appender.SYSLOG.Facility=local4

Ich habe die /etc/syslog.conf bearbeitet und die folgenden Zeilen im Ende- angehängt

local4.notice              /var/log/mylog.log

Danach habe ich den Syslog -Dienst neu gestartet. Wenn ich den folgenden Befehl aus der Shell ausführe, ist sie in /var/log/mylog.log richtig protokolliert. Dies bedeutet meistens, dass der Syslog-Dienst richtig funktioniert.

logger -i -p local4.notice -t "check  log" "test message"

Aber ich kann nicht verstehen, warum Protokolle aus dem WebApp nie zum /var/log/mylog.log gelangt. Ist meine LOG4J -Konfiguration für den SyslogAppender korrekt?

Wenn ich normale Appender wie "DailyrollingFileAppender" usw. probiere, funktioniert die Protokollierung gut. Aber ich kann den SyslogAppender einfach nicht zum Laufen bringen.

Vielen Dank! -Keshav

War es hilfreich?

Lösung

In der Regel schlägt das Anhängen an syslog fehl, da der Syslog -Daemon nicht so eingerichtet ist, dass Pakete aus dem Netzwerk akzeptiert werden. Ihr "logger -i -p" sagt nicht, ob Pakete zulässig sind ...

Andere Tipps

Ähnliches Problem bei Ubuntu 10.04 musste zwei Zeilen in /etc/rsyslog.conf inkämpft, um SyslogAppender -Nachrichten zu empfangen.

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top