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.希望上面的其中一件事情会做到这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |