我正在运行Ubuntu和Postgresql 9。
我已经启用postgresqllogin到系统日志,并添加以下指令到configuration文件:
syslog_facility = 'local0'".
我已经尝试configuration系统日志logging到一个单独的文件,但提交。 我更新了/etc/syslog.conf,使其包含(请参阅postgresql-directive的最后一行)
auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log user.* -/var/log/user.log mail.info -/var/log/mail.info mail.warn -/var/log/mail.warn mail.err /var/log/mail.err news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice -/var/log/news/news.notice *.=debug;\ auth,authpriv.none;\ news.none;mail.none -/var/log/debug *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none -/var/log/messages *.emerg * daemon.*;mail.*;\ news.err;\ *.=debug;*.=info;\ *.=notice;*.=warn |/dev/xconsole local0.* -/var/log/pgsql
我用“/etc/init.d/sysklogd restart”和“restart rsyslog”重新启动了系统日志。
当postgresql重新加载,消息被追加到/ var / log / messages和/ var / log / syslog …而不是正确的文件,因为我configurationsyslog使用…
同样的版本的Postgresql的其他Debian机器上工作正常…
有任何想法吗?
它看起来像你在你的postgresql.conf
文件中有一个错字。 确保你正在使用
syslog_facility = 'local0'
另外,旧的syslogd要求在你的configuration文件中使用硬标签而不是空格,所以要确保你没有实际使用空格,或者你的编辑器没有把标签转换成空格(比如vim中的expandtab选项) 。
你也提到了旧的syslogd 和 rsyslog,所以请检查你正在使用哪一个。 Rsyslog的configuration文件被devise为向后兼容syslogd,但使用不同的文件。 所以如果你使用的是rsylog,那么把你的日志logging添加到/etc/rsyslog.conf
。
为了防止这些消息也显示在/var/log/messages
您需要明确地过滤掉该设备。 为了做到这一点,修改你的消息configuration为:
*.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none;\ local0.none -/var/log/messages
这意味着:“不要将任何严重级别从local0设备写入此文件”。 或者,实际上排除local0.*
。