为什么Linux文件: /var/log/syslog不遵循协议https://www.rfc-editor.org/rfc/rfc5424#page-11中定义的时间戳格式?
发布于 2013-11-01 19:04:58
来自RFC 5424 (该协议规定了syslog协议,并引用RFC 3339作为时间戳) "1.导言“:
本文档描述了syslog消息的标准格式,概述了传输映射的概念。它还可以使用describes结构化数据元素来传输easily可解析的结构化信息,并允许供应商扩展。本文档不描述syslog 消息的任何存储格式。对于系统互操作性来说,它超出了syslog协议和is的范围。
这里的消息指的是要记录的内容,而不是日志的格式。换句话说:日志不是消息,RFC是关于消息的,而不是日志。
您在/var/log/syslog中看到的内容是“存储格式”消息。这种格式取决于您如何配置特定的syslog,而且正如序言中所述,没有必要使用任何协议,至少就“系统互操作性”而言是如此。
Syslog守护进程可以作为多个系统的记录器。RFC的目的是设置一个标准,以便兼容的系统可以登录到远程syslog,而不管使用的是哪种特定的实现,等等。
接收这类消息的syslog守护进程会将它们写入文件,但它不会逐字写入它们--它会根据其配置写入它们。如果您进一步查看RFC,您将注意到有许多/var/log/syslog不遵守的方法。看看第6节开头的ABNF --这并不是简单地描述日志文件中的一行(注意时间戳不是第一项!)这是用于传输串行化消息的结构化格式。
https://unix.stackexchange.com/questions/98453
复制相似问题