いくつかのログメッセージを1年以上保存する予定ですが、syslogタイムスタンプの説明は次のようになります。RFC3164ログエントリのタイムスタンプ部分には年は含まれません。 CentOSログメッセージで見つかったタイムスタンプの例はですMar 16 07:46:24
。
RFC5424RFC3164は破棄する必要がありますが、オペレーティングシステムではmmm dd
ログの日付を使用するのが一般的です。 RFC5424は6年が経過したため標準ではないという事実に驚きました。 RFC3164に年が含まれていないのはなぜですか?ログは非常に一時的なものですか?今日の記録にその年が含まれていないのはなぜですか?
答え1
もしあなたなら会議システムログ出力にカスタムタイムスタンプを追加するには、を使用するのが最善ですsyslog-ng
。
~によるとこの投稿ts_format()
を使用して年を指定できますsyslog-ng
。
syslog-ng.conf(5)
マニュアルページによると:
syslog-ngアプリケーションには、DNSの使用、使用されたタイムスタンプ形式、およびその他の一般事項を管理するためのさまざまなグローバルオプションがあります。各オプションには、ドライバー仕様に似たパラメーターがある場合があります。グローバルオプションを設定するには、次の構文を使用してsyslog-ng設定ファイルにオプションの説明を追加します。
options { option1(params); option2(params); ... };
答え2
syslog形式は1980年代にさかのぼり、当時のプログラマーはあまり注意を払っていなかったため、年は含まれません。ほとんどのログファイルは自動構文解析ではなく、人間が読めるように作成され、誰もが年を知っています。