rsyslog stop命令复制消息而不是移动消息

问题描述 投票:1回答:1

在带有rsyslogd 8.32.0的Ubuntu 18.04上,

为了从名为“ mqtt433”的服务中删除日志条目,我将以下内容添加到了/etc/rsyslog.d/50-default.conf:

if $programname == 'mqtt433' then {
    action(type="omfile" File="/var/log/mqtt433_log.log")
    stop
}

会创建文件/var/log/mqtt433_log.log,并按预期将来自服务的日志消息附加到该文件。在我的理解中,它不应该执行的操作是,它不应将行保留在默认文件(/ var / log / syslog)中。

换句话说,它应该move消息到新文件,而不是copy它们。

我也尝试了旧规则语法,但结果相同。

:programname, isequal, "mqtt433" /var/log/mqtt433.log
& stop

还尝试过时的语法

& ~

代替

& stop

没有运气。

我在做什么错?

ubuntu rsyslog
1个回答
0
投票

请确保先读取您的conf文件,然后再执行其他任何规则。例如,检查/etc/rsyslog.d/目录中没有较早的文件,并且rsyslog.conf行之前的$IncludeConfig /etc/rsyslog.d/*.conf行中没有包含任何配置的过滤规则。通常,规则放置在## RULES ##注释之后,并按照出现的顺序执行。

© www.soinside.com 2019 - 2024. All rights reserved.