由于某种原因,rsyslogd似乎无法正确解释有效RFC 5424消息。即使 RFC 给出的例子也不起作用:
$ echo "<165>1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 myproc 8710 - - %% It's time to make the do-nuts." | nc -w1 -Uu /dev/log
Run Code Online (Sandbox Code Playgroud)
日志行结果:
Dec 1 16:39:08 host 1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 myproc 8710 - - %% It's time to make the do-nuts.
Run Code Online (Sandbox Code Playgroud)
这表明消息无法正确解释为RFC 5424消息,而是整个字符串被视为消息有效负载。
另一方面,旧RFC 3164格式被接受没有问题:
$ echo "<165>Dec 1 05:14:15 myproc[8710]: %% It's time to make the do-nuts."| nc -w1 -Uu /dev/log
Run Code Online (Sandbox Code Playgroud)
结果是正确的日志行:
Dec 1 16:44:31 host myproc[8710]: %% …Run Code Online (Sandbox Code Playgroud)