如何更改邮件日志的日期格式?

Dio*_*aga 5 email-server postfix dovecot

我的邮件日志的日期格式如下所示:

May 12 04:12:54
Run Code Online (Sandbox Code Playgroud)

我需要在该日期包含年份。有可能做出这样的改变吗?

Dio*_*aga 3

经过更多的研究和一些测试,我找到了我需要的解决方案。我的服务器使用 CentOS 7.6,它使用 rsyslog 来记录日志。

  1. 编辑文件 /etc/rsyslog.conf 并在“RULES”部分之前添加以下模板:
$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"
Run Code Online (Sandbox Code Playgroud)
  1. 搜索行:
# Log all the mail messages in one place.
mail.*       -/var/log/maillog
Run Code Online (Sandbox Code Playgroud)

并更改为:

# Log all the mail messages in one place.
mail.*       -/var/log/maillog;MailLogFormat
Run Code Online (Sandbox Code Playgroud)
  1. 重新启动 rsyslog:
systemctl restart rsyslog
Run Code Online (Sandbox Code Playgroud)

完毕。/var/log/maillog 文件中的日志将打印日期,格式为:年-月-日时:分:秒