如何抑制特定消息被记录在系统日志中?

如何抑制特定消息被记录在系统日志中?

我正在排除系统挂起问题,想知道在系统冻结之前记录了什么。这项工作受到了阻碍,因为我的 VPN 提供商 (PIA) 每分钟都在记录大量信息消息。我希望在系统锁定时,shell 窗口上的杂乱信息少得多。

我尝试在 rsyslog.conf 中添加以下各种排列

pia-daemon.info      /dev/null
pia*.info            /dev/null

如果可能的话,我想避免创建额外的 conf 文件。我不想隐藏所有信息消息,只想隐藏这些。有什么想法吗?

答案1

您可以使用stop关键字操作来结束消息处理。要匹配消息,您需要知道字符串pia-daemon在输入中出现的位置。它可能是标签,也可能是$programname。您可以尝试

if $syslogtag=="pia-daemon:" then stop
if $programname=="pia-daemon" then stop

为了找出答案,您可以使用内置模板列出所有字段RSYSLOG_DebugFormat

*.info /var/log/debug;RSYSLOG_DebugFormat

或者你也可以查看原始输入中的任意位置:

if $rawmsg contains "pia-daemon" then stop

确保这些过滤器在配置文件的早期出现,在其他过滤器之前。

相关内容