我目前使用Syslog4j 0.9.46來處理系統日誌UDP消息。我用它從命令行發送它們,現在我必須以某種方式接收它們。要做到這一點,我使用下面的代碼:SyslogServer沒有收到UDP消息
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);
顯然這是不夠的,或者我做錯了什麼。要發送的罐子進行syslog消息命令:
java -jar syslog4j-0.9.46.jar -h 127.0.0.1 -p 514 udp
我知道他們都被正確發送,因爲運行下面的代碼可以讓我接受他們:
SyslogServer.main(new String[]{"-h", "127.0.0.1", "-p", "514", "udp"});
我查了以下術語Syslog4j 0.9.46文檔:SyslogServerIF
,AbstractSyslogServer
和UDPNetSyslogServer
。它們中的每一個都只包含返回值,參數和方法拋出的內容,而沒有任何一個單詞的描述。我還在http://www.syslog4j.org/上搜索了常見問題解答和提供的示例,但沒有一個是關於服務器的。
所以我的問題是。如何在不需要調用SyslogServer
的主要方法的情況下運行UDP系統日誌服務器?我不使用任何自定義處理程序。