Log4j und syslogappender
Ich habe eine java-Anwendung mit log4j SyslogAppender (facility=USER) und ich sehe mit tcpdump auf port 514, dass meine Bewerbung senden sollen-log-Nachricht als ein Datagramm und auch netstat zeigt mir, dass syslogd (red hat) ausgeführt wird, und lauscht auf 0.0.0.0:514, aber ich sehe keine Protokollierung geschieht in /var/log/messages.
In meinem syslog.conf habe ich
*.info /var/log/messages
Meiner Bekehrung Muster für SyslogAppender ist
%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
Ich bin ratlos, warum es nicht anmelden oder wo genau ich suchen soll, um zu sehen, was ist, zu scheitern. Und ich habe nicht genug Berechtigungen auf der Maschine zum starten/stoppen von syslogd oder manuell ausführen zu müssen verbose-debug-Protokolle aktiviert.
Irgendwelche Hinweise, wie ich Vorgehen?
Edit:
Den Appender unten
private void initSyslog() {
SyslogAppender syslogAppender = new SyslogAppender();
syslogAppender.setName("syslog");
syslogAppender.setLayout(new PatternLayout("%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"));
syslogAppender.setFacility("USER");
syslogAppender.setFacilityPrinting(true);
syslogAppender.setSyslogHost("localhost");
syslogAppender.activateOptions();
Logger.getRootLogger().addAppender(syslogAppender);
Logger.getRootLogger.info("Syslogdone");
}
- Sie zeigen uns Ihre appender in Ihrem log4j config, bitte
- Ich bin einrichten von Syslog-appender während der Laufzeit und hier ist es private void initSyslog() { SyslogAppender syslogAppender = new SyslogAppender(); syslogAppender.setName("syslog"); syslogAppender.setLayout(new PatternLayout%d{MMM dd HH:mm:ss} %F %L %5p [%t] - %m %n")); syslogAppender.setFacility("USER"); syslogAppender.setFacilityPrinting(true); syslogAppender.setSyslogHost("localhost"); syslogAppender.activateOptions(); Logger.getRootLogger().addAppender(syslogAppender); Logger.getRootLogger.info("Syslogdone"); }
Du musst angemeldet sein, um einen Kommentar abzugeben.
Remote-Protokollierung nicht aktiviert syslog. Komisch, weil es immer noch öffnet und hört auf 514. Als ich angefangen habe mit syslog -r, alles begann mit der Protokollierung.
Vielleicht hilft: http://wiki.loggly.com/log4j
Es ist nur ein Beispiel mit der Verwendung SyslogAppender. Einfach ignorieren den Teil mit der Weiterleitung an Loggly.