Log4j SyslogAppender不向本地Syslog发送任何日志

时间:2017-05-11 05:01:26

标签: java logging syslog rsyslog

我正在努力让Syslog工作。我正在使用Log4j 2.7 SyslogAppender (org.apache.logging.log4j.core.appender)。我有本地syslog中继服务器侦听端口514(UDP)。所有本地syslog消息都转发到远程Syslog服务器。这一切都正常,直到我使用java.net.DatagramPacket类发送syslog消息,该类直接在localhost的端口514上中继消息。 后来我决定使用SyslogAppender并开始看到麻烦。下面是我的log4j属性文件,我在其中配置了我的Syslog记录器/ appender

appenders = rolling, SYSLOG
appender.SYSLOG.type = Syslog
appender.SYSLOG.name = Syslog
appender.SYSLOG.host = 127.0.0.1
appender.SYSLOG.port = 514
appender.SYSLOG.protocol = UDP

logger.syslog.name = root.syslog
logger.syslog.level = info
logger.syslog.additivity = false
logger.syslog.appenderRef = SYSLOG

我在我的Java类中使用此记录器,如下所示 -

private static final Logger myLogger = LoggerFactory.getLogger("root.syslog");
.
.
myLogger.info("My test message");

我已经在/etc/rsyslog.conf中设置如下(正如我提到的那样,到目前为止一切正常) -

$ModLoad imudp 
$MaxMessageSize 64k
$UDPServerAddress 127.0.0.1
$UDPServerRun 514

我将tcpdump作为tcpdump -i lo port 514 -w local-syslog-appender.pcap。但我没有看到任何消息被发送到此频道。在使用DatagramPacket java.net.DatagramPacket之前,我已捕获此端口上的流量。但在转移到SyslogAppender之后,什么都没有出现。 F1。 我不知道如何对这个appender进行故障排除以及如何使其工作。

0 个答案:

没有答案
相关问题