11


我需要在 syslog 守护进程生成的日志消息中记录年份。特别是在/var/log/secure文件中。可能吗?

这里是一个正常的 syslog 消息的例子:

Feb 16 04:06:58 HOST sshd[28573]: Accepted password for USER from SOURCE port 7269 ssh2

我需要类似的东西:

Feb 16 2011 04:06:58 HOST sshd[28573]: Accepted password for USER from SOURCE port 7269 ssh2

提前致谢。

4

4 回答 4

5

如果您使用 rsyslog,这很容易。参考以下:

  1. 修改 /etc/rsyslog.conf 如下:

    ...
    authpriv.*     /var/log/secure;RSYSLOG_FileFormat
    ...
    
  2. 然后要求 rsyslog 守护进程重新加载配置:

    $ kill -HUP <pid of rsyslog daemon>
    

更多参考:

于 2011-10-27T17:20:10.237 回答
3

syslog-ng 有 ts_format() 选项来指定文件的默认时间戳格式。默认设置为iso格式,包括年份。

您还可以使用 template() 选项配置文件格式。

于 2011-12-23T21:01:56.620 回答
2

如果您的系统日志遵守 RFC 3164(BSD 系统日志协议),那么您不能将其配置为记录年份。除非您有一个遵循 RFC 5424(rsyslog 或 syslog-ng)的现代 syslog 守护程序,否则您不能这样做。

于 2011-03-02T20:57:38.647 回答
1

如果您无法更改系统本身的 syslog,也许您可​​以设置 syslog 以将其发送到具有更好 syslog 守护进程的远程系统?

于 2011-12-23T21:08:42.117 回答