0

我有以下代码用于在 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 上调用。

4

1 回答 1

0

你想在 Mac 上使用什么端口?

是否与使用中的端口冲突(默认为 514)?

检查/etc/syslog.confMacOS 以查看它用于内置 syslog 的端口。在 Ubuntu 上,可以在/etc/rsyslog.conf.

于 2014-03-04T22:43:11.903 回答