我有以下用于自定义系统日志服务器的代码(使用Syslog4J),它适用于Windows。
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);
}
甚至在Mac上也没有调用处理程序的initialize()方法。
答案 0 :(得分:0)
您想在Mac上使用哪个端口?
是否与正在使用的端口冲突(默认为514)?
检查MacOS上的/etc/syslog.conf
,查看它用于内置syslog的端口。在Ubuntu上,可以在/etc/rsyslog.conf
中找到。