Windowsで動作するカスタムsyslogサーバー(Syslog4Jを使用)の次のコードがあります。
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 では呼び出されません。