为什么系统日志时间戳不包含年份?

为什么系统日志时间戳不包含年份?

我计划将一些日志消息存储一年多,但系统日志时间戳描述来自RFC3164日志条目的时间戳部分不包含年份。我在 CentOS 日志消息中找到的一个示例时间戳是Mar 16 07:46:24

RFC5424应该使 RFC3164 过时,但在操作系统中使用mmm dd日志中的日期似乎很常见。 RFC5424 已有六年历史,所以我很惊讶它不是标准。为什么 RFC3164 中不包含年份?日志是否意味着非常临时?今天日志中不包含年份的原因是什么?

答案1

如果你想要将自定义时间戳添加到系统日志输出中,最好使用syslog-ng.

根据这个帖子您可以使用ts_format()来指定年份syslog-ng

根据syslog-ng.conf(5)手册页:

syslog-ng 应用程序有许多全局选项来管理 DNS 使用、使用的时间戳格式以及其他一般要点。每个选项都可能有参数,类似于驱动程序规范。要设置全局选项,请使用以下语法将选项语句添加到 syslog-ng 配置文件中:

options { option1(params); option2(params); ... };

答案2

它不包括年份,因为 syslog 格式可以追溯到 20 世纪 80 年代,而且当时的程序员不太小心。大多数日志文件都是为人类阅读而编写的,而不是自动解析的,而且每个人都知道那是哪一年。

相关内容