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"); }
InformationsquelleAutor Prasanna | 2011-12-01
Schreibe einen Kommentar