8

journalctl的到处都是gnome-session警告。我已将问题追溯到谷歌浏览器,警告相对无害。但是,它淹没了我的日记输出,坦率地说,如果我确实需要检查它,我将无法找到我需要的东西。

May 30 12:13:49 hostname gnome-session[1347]: Window manager warning: meta_window_activate called by a pager with a 0 timestamp; the pager needs to be fixed.

坦率地说,这是一个 Chrome 问题,我会留在那里。但是有没有办法让journalctl命令抑制某个进程的输出?我想gnome-session完全禁用日志记录。

4

1 回答 1

6

这个问题似乎更适合Unix & Linux

无论如何,即使在遵循(使用grep的参数)之类的情况下,也可以轻松地在阅读日志时过滤掉单元grep -v--line-buffered

journalctl -f | grep --line-buffered -v "gnome"

这仍然很糟糕,因为现在没有有用的着色。为 journalctl 构建命令参数会提供更好的体验。

JARGS=`journalctl -F _COMM | sed -e 's/gnome.*//' -e 's/^/_COMM=/' | xargs`
journalctl -a -f $JARGS

现在 follow 和分页一样好用,同时在 less using 中隐藏 gnome 行$!gnome哇!

遗憾的是 systemctl 和 journalctl 不允许包含/排除的正则表达式匹配。


在个人使用系统上(由于 gnome-session 的烦恼,我猜你在使用它)有一些设置可能对设置有用。

将系统编辑journald.conf

  1. 通过引导拆分日志。
    验证Storage= 持久自动(默认)。
    并创建sudo mkdir -p /var/log/journal
  2. 按时间限制存储使用。
    MaxRetentionSec=1week

重新启动以有效地重新启动 systemd-journald.service。

然后你可以使用

journalctl -a -b -f $JARGS # -b to limit to current boot 

或者你想要的任何参数,而不需要不需要的 gnome-session 东西。

于 2015-05-08T15:17:51.917 回答