从/etc/rsyslog.d/project.conf中读取有效的rsyslog配置会丢失语法错误吗?

时间:2018-04-02 03:25:13

标签: rsyslog

我在rsyslgog中需要几行配置。

if $programname == 'project' then /var/log/file.log

当添加到主rsyslog配置文件/etc/rsyslog.conf的末尾时,此配置似乎有效且功能正常。 但是,当使用rsyslog.d目录时,我收到语法错误。

error during parsing file /etc/rsyslog.d/project.conf, on or before line 2: syntax error on token '==' [v8.32.0 try http://www.rsyslog.com/e/2207 ] 

主配置中是否有任何必须提前解析的内容,或者这是一个应该报告给Fedora 27开发人员的错误?

2 个答案:

答案 0 :(得分:0)

作为rsyslog的作者,我会假设在它前面有一些包含,以某种方式呈现你的(有效)构造无效。不幸的是,Red Hat倾向于坚持使用过时的遗留格式,使用它时很容易发生这样的事情(毕竟,这就是我们废弃它的原因)。

为了解决此问题,我会检查配置包含是否包含在您自己的前面。如果通过通配符包含,则包含顺序按文件名排序。

答案 1 :(得分:0)

对不起,这是我的坏事。我的rsyslog配置文件的配置由我的安装程序bash脚本重写,并将$ sign解释为字符串中的变量。我应该仔细检查配置文件的正确性。