为了开发一个跨平台的系统日志客户端,我试图在不使用系统日志系统调用的情况下做到这一点。我正在用 C++ 开发这个客户端,现在在Linux
. 我要替换的旧系统日志客户端与系统日志系统调用完美配合。至于如何,它根本行不通。跟踪不在/var/log/user.log
其他任何地方(grep
编辑)。但是当我在正确的端口上用netcat
. 顺便说一句,端口不514
应该已经在使用吗?
跟踪是应该发送的UDP/514
。我试图坚持使用 RFC 3164,但显然还是有问题。
如果有人能给我一个解决这个问题的提示,我真的很感激。
Trace: severity: 2 (Critical); facility: 23 (Local Use 7) ==> priority: 186
sh$> sudo nc -ul localhost -p 514
<186>Oct 18 10:36:03 hostname test_trace: | 10:36:03.242995 | CRIT | xxx-MAIN[5473-000] | 00000 | 0008 : main : user_msg
谢谢 !
我想我在自己的问题中发现了问题:Rsyslog(我的系统日志服务器)没有正确监听 UDP/514。
/etc/rsyslog.conf
$ModLoad imudp
$UDPServerAddress 0.0.0.0
$UDPServerRun 514
如果有人知道为什么它仍然不听 UDP/514,我真的很感激,因为我真的不明白为什么。
再次感谢你。