メールログログの日付の形式は次のようになります。
May 12 04:12:54
この日付に年を含める必要があります。このような変更を行うことは可能ですか?
おそらくより良い答えは、rsyslogで生成されたすべてのログに新しいsyslog標準を採用することです。
http://support.pimpmylog.com/kb/softwares/rsyslog-protocol-23-format
構成はRFC5424標準に非常に近いです。
これは、rsyslog.confファイルに次の行を配置することによって行われます。
$ActionFileDefaultTemplate RSYSLOG_SyslogProtocol23Format
Syslogファイルの特定の行は次のように表示されます。
<27>1 2014-01-12T20:06:05.783312-05:00 somebody smbd 3752 - - [2014/01/12 20:06:05.783190, 0] printing/print_cups.c:487(cups_async_callback)
フルタイムと日付、およびタイムスタンプのタイムゾーンが含まれていることに注意してください。
もう少し調査といくつかのテストを行った後、私は必要な解決策を見つけました。私のサーバーは、rsyslogを使用してログを記録するCentOS 7.6で動作します。
$template MailLogFormat, "%timestamp:::date-year%-%timestamp:::date-month%-%timestamp:::date-day% %timestamp:::date-hour%:%timestamp:::date-minute%:%timestamp:::date-second% %hostname% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
# Log all the mail messages in one place.
mail.* -/var/log/maillog
に変更します:
# Log all the mail messages in one place.
mail.* -/var/log/maillog;MailLogFormat
systemctl restart rsyslog
完了。/var/log/maillogファイルのログは、次の形式の日付で出力されます:年-月-日時:分:秒