Ich verwende derzeit Syslog4j 0.9.46 für die Behandlung von Syslog UDP-Nachrichten. Ich benutze es, um sie von der Kommandozeile aus zu senden, und jetzt muss ich sie irgendwie empfangen. Dazu benutze ich folgenden Code:SyslogServer empfängt keine UDP-Nachrichten
SyslogServerIF server = SyslogServer.getInstance("udp");
server.getConfig().setHost("127.0.0.1");
server.getConfig().setPort(514);
server.initialize("udp", server.getConfig());
server.run();
Thread.sleep(60*1000);
Offenbar ist das nicht genug oder ich mache etwas falsch. Um auf das Glas durchgeführt Syslog-Meldungen Befehl zu senden:
java -jar syslog4j-0.9.46.jar -h 127.0.0.1 -p 514 udp
Ich weiß, sie werden richtig gesendet, weil Sie den folgenden Code ermöglicht es mir, sie zu empfangen:
SyslogServer.main(new String[]{"-h", "127.0.0.1", "-p", "514", "udp"});
ich die folgenden Begriffe in der geprüft Syslog4j 0.9.46 Dokumentation: SyslogServerIF
, AbstractSyslogServer
und UDPNetSyslogServer
. Jede einzelne von ihnen enthielt nur den Rückgabewert, Parameter und was die Methode ohne ein einziges Wort der Beschreibung wirft. Ich habe auch die FAQ und die mitgelieferten Beispiele unter http://www.syslog4j.org/ durchsucht, aber keine davon ging um den Server.
Also meine Frage ist. Wie kann ich den UDP-Syslog-Server ausführen, ohne die Hauptmethode von SyslogServer
aufrufen zu müssen? Ich verwende keine benutzerdefinierten Handler.