Ord*_*sen 5 logs systemd systemd-journald
我可以以某种方式使 journalctl 在实际消息旁边打印日志级别吗?
我找到了-p
选项,但这不是我要找的,我想同时查看错误和警告,但我希望能够将它们区分开来。
我发现的唯一一件事是来自man journalctl
:
输出到 tty 时,根据优先级对行进行着色:级别 ERROR 及更高级别的行着色为红色;级别 NOTICE 和更高级别的行被突出显示;其他线路正常显示。
这是一个不错的开始,但我仍然想区分所有 8 个级别,而不是将它们汇总为三个。
一种选择是使用输出格式选项。例如,journalctl -o verbose
将向您显示连接到特定条目的所有数据。例子:
星期三 2017-02-08 21:06:27.524361 EET [s=f689734c6c674cfd98a49e66c3349fdd;i=42c;b=01111969442644239da701153bd49c37;m=23e9195;t=548098f c53333;x=c943c53e7411726] 优先级=6 SYSLOG_FACILITY=3 CODE_FILE=src/core/job.c 代码行=804 CODE_FUNCTION=job_log_status_message SYSLOG_IDENTIFIER=systemd MESSAGE_ID=39f53479d3a045ac8e11786248231fbf USER_UNIT=timers.target MESSAGE=已达到目标计时器。 结果=完成 _TRANSPORT=期刊 _PID=874 _UID=1000 _GID=1000 _COMM=系统 _EXE=/usr/lib/systemd/systemd _CMDLINE=/usr/lib/systemd/systemd --user _CAP_EFFECTIVE=0 _SYSTEMD_CGROUP=/user.slice/user-1000.slice/user@1000.service/init.scope _SYSTEMD_OWNER_UID=1000 _SYSTEMD_UNIT=用户@1000.service _SYSTEMD_USER_UNIT=init.scope _SYSTEMD_SLICE=user-1000.slice _SYSTEMD_USER_SLICE=-.slice _SYSTEMD_INVOCATION_ID=2f397502a38947d5b18eca7eb5f5b1ba _SOURCE_REALTIME_TIMESTAMP=1486580787524361 _BOOT_ID=01111969442644239da701153bd49c37 _MACHINE_ID=4de8a7d0aad84611b2e1dfb0ff8f43e7 _HOSTNAME=德古拉
这里的字段PRIORITY
实际上指向消息级别(在本例中是INFO
级别)。级别映射方式如下:
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug
Run Code Online (Sandbox Code Playgroud)
我不认为你可以避免其他元数据,而只留下消息级别(如果我错了,请纠正我)而不进行某种后处理(自定义 shell 脚本等)。
归档时间: |
|
查看次数: |
6046 次 |
最近记录: |