目前,我的所有系统日志都已登录到
/var/log/syslog
,并且我希望 local1.*
转到单独的日志文件。
我的
rsyslog.d/50-default.conf
文件如下所示:
# Default rules for rsyslog.
#
# For more information see rsyslog.conf(5) and /etc/rsyslog.conf
#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
#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
local1.* -/mnt/log/*/*/python/syslog-analytics.log
但是,
syslog-analytics.log
文件未在所需位置创建。
后来,我还使用 syslog:adm 作为用户:组手动创建了该文件,但我的所有日志仍然记录到
/var/log/syslog
。
我遇到了同样的问题 - rsyslogd 正在
/var/log/
和 /tmp/
下创建文件,但拒绝在 /data/log/
中创建文件或在我手动创建这些文件时登录这些文件。文件系统权限从来都不是问题,一切都是世界可写的。这几乎让我发疯,直到我发现我在一个 selinux 强制系统(CentOS)上,其中某些进程被限制在某些文件系统位置。
如果您不关心 selinux 或者想检查这是否是问题的原因,只需通过在
SELINUX=disabled
中设置 /etc/selinux/config
将其关闭(需要重新启动!)。