java – 尝试调试logback syslog appender不会更新syslog的问题

前端之家收集整理的这篇文章主要介绍了java – 尝试调试logback syslog appender不会更新syslog的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用logback来更新syslog,这是我如何配置我的appender:
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
        <syslogHost>localhost</syslogHost>
        <facility>LOCAL0</facility>
        <suffixPattern>[%thread] %logger %msg</suffixPattern>
    </appender>

我更新了rsyslog.conf来监听UDP事件,取消注释下面的行:

# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514

conf更改后重新启动的syslog守护程序.

在我所有的测试盒上,它似乎工作正常!但是,系统syslog上的一个没有被我的进程更新(其他的东西正在更新它很好),我想知道如何调试这个问题?任何我应该研究的东西都记住了?

感谢任何想法

解决方法

当然.顺序地,尝试这4个测试:

1.测试回溯:明显的一个:添加一个FileAppender作为第二个appender,并确保事件出现在那里.你的帖子意味着“it”可以在dev中运行,但是我不确定它是回溯还是appender,而且配置代码段没有一个append-ref部分来发送事件到SYSLOG.

如果您的FileAppender什么也不收到,这是一个应用程序/环境问题,或者该服务器不会生成提供给appender的事件.

2.确认消息正在生成:假设FileAppender接收到消息但syslog没有,请运行:

tcpdump -n -i lo -X -s 1500

在…上输出UDP数据包的全部有效载荷.使您的应用程序生成日志消息.你应该看到至少有一个数据包,目的地是127.0.0.1:514.如果你不这样做,那就是发件人.如果你这样做,那就是rsyslog配置.

3.确认rsyslog绑定到端口514:

lsof -i :514

或者如果您没有lsof并且确定另一个进程没有绑定到514:

netstat -ln | grep 514

4.查看rsyslog收到的内容:如果事件发送到端口514,在停止live rsyslogd后,以调试模式重新启动并连接到终端:

/etc/init.d/rsyslog stop
rsyslogd -d

你应该看到事件到达.如果没有一个确定问题,这是一条脱离殴打路径的路.在已知良好的J2EE和系统日志环境中,我已经有了logback config.希望上面的其中一件事情会做到这一点.

猜你在找的Java相关文章