我正在尝试清除日志中的 dhcpd 垃圾邮件。
使用rsyslog.conf
我dhcpd.conf
已经能够别管它并/var/log/syslog
把它放进去,/var/log/dhcpd.log
这很棒。
但是,journalctl
仍然会显示 dhcpd 垃圾邮件。
我如何指示 journalctl 使用“everything-but-X”过滤器?
我不想打字
$ journalctl --facility=kern,user,mail,....,local7
但将逻辑反转如下:
$ journalctl --facility=!local7
但后一种语法是错误的。有办法实现这一点吗?或者,过滤一下!dhcpd
或者其他什么?
答案1
不幸的是,journalctl
似乎不支持通过否定某个设施来排除输出。
可能的解决方法是:
使用
grep
-v, --invert-match
选项如下:journalctl | grep --line-buffered -v 'pattern'
使用
grep
ccze
(需要安装)日志着色器用于颜色编码输出,如下所示:journalctl | grep --line-buffered -v 'pattern' | ccze -A
使用
journalctl
内置-g, --grep=
选择PCRE2正则表达式模式按消息字段过滤条目,如下所示:journalctl --grep='pattern'
这个对字符串取反比较棘手,但最好的办法可能是包含否定环视。