2013-08-07 2 views
0

У меня есть следующий код для пользовательского syslog-сервера (с использованием Syslog4J), который работает в Windows.Сервер Syslog4J (syslog) не запущен на Mac

 final UDPNetSyslogServerConfig udpConfig = new UDPNetSyslogServerConfig(); 
     udpConfig.setPort(Integer.parseInt(port)); 
     udpConfig.setHost(host); 
     udpConfig.addEventHandler(new Handler()); 
     udpConfig.setUseDaemonThread(false); 

     SyslogServerIF server = SyslogServer.createInstance(host + port, udpConfig); 
     server.run(); 

Он прослушивает входящие события и вызывает обработчик (метод) всякий раз, когда принимается событие.

Если я запустил тот же код на Mac, он просто выходит. Даже если я использую цикл для ожидания событий, события не записываются.

 while (!stop) { 
      SyslogUtility.sleep(1000); 
     } 

Даже метод initialize() обработчика не вызывается на Mac.

Любая помощь в этом отношении будет оценена по достоинству. Благодарю.

ответ

0

Какой порт вы пытаетесь использовать на Mac?

Входит ли он в конфликт с портом в использовании (по умолчанию - 514)?

Отметьте /etc/syslog.conf на MacOS, чтобы узнать, какой порт используется для встроенного syslog. На Ubuntu это можно найти в /etc/rsyslog.conf.