从外部应用程序login到系统日志时,我观察到以下行为:如果将格式良好的系统日志消息发送到UDP套接字,rsyslog会正确parsing它,但是,如果将相同的消息发送到UNIX域套接字(/ dev / log),它根本就没有被parsing(rsyslog基本上假定,他收到的所有东西都是一个消息,所以没有时间戳,没有任何东西)。
有问题的信息是
<142>1 2010-12-29T11:11:11Z foo bar 123 baz - A Message
这被parsing为
Dec 29 11:11:11 foo bar[123] A Message
除非不是。
可能你应该发送没有主机名(foo)和rfc3164格式(不是rfc5424,如上所述)的消息来parsing它。
parsing消息时,rsyslog尽最大努力去理解它。
对于从Unix套接字接收到的消息,rsyslog使用这些字段接受类似RFC 3164的消息: pri , timestamp , tag和content 。
它接受各种消息格式,如:
just a message <pri>message <pri>tag: msg 关于消息时间戳:
SysSock.IgnoreTimestamp选项,因此在禁用此选项之前,您的时间戳将被忽略。 hostname段不能被覆盖。 rsyslog将始终从它的configuration中获取它。