jir*_*lav 9 linux logging systemd
我有一个正在运行的 systemd 单元,我想跟踪它的日志。
我知道我可以使用以下方法显示单位的日志:
journalctl -u my_unit.service
Run Code Online (Sandbox Code Playgroud)
但这仅打印当前日志而不遵循它们。
我知道我还可以systemd
使用以下方法跟踪日志:
journalctl -f
Run Code Online (Sandbox Code Playgroud)
但这会通过跟踪所有已知日志来发送垃圾邮件,因此我必须搜索我感兴趣的内容。
一个临时解决方案似乎是通过管道跟踪日志来 grep 过滤输出,但这不是很系统的解决方案:
journalctl -f | grep "what i'm interested in"
Run Code Online (Sandbox Code Playgroud)
不是有跟踪某个单位的日志的命令吗?
我已经尝试过,但没有奏效:
journalctl -uf my_unit.service
Run Code Online (Sandbox Code Playgroud)
我发现我使用的参数顺序不正确。实际上可以使用以下方法跟踪单个单元的日志:
journalctl -fu my_unit.service
Run Code Online (Sandbox Code Playgroud)
其他工作变化:
journalctl -f -u my_unit.service
journalctl -u my_unit.service -f
Run Code Online (Sandbox Code Playgroud)
从journalctl
手册:
-u
,--unit=UNIT|PATTERN
显示指定 systemd 单元
UNIT
(例如服务单元)或任何匹配的单元的消息PATTERN
。如果指定了模式,则将在日志中找到的单元名称列表与指定模式进行比较,并使用所有匹配项。对于每个单元名称,都会为来自单元 (" ") 的消息添加一个匹配项,并为来自 systemd 的消息和有关指定单元的核心转储的消息添加其他匹配项。_SYSTEMD_UNIT=UNIT
该参数可以多次指定。
-f, --follow
仅显示最近的日记帐分录,并在新分录附加到日记帐时连续打印它们。
归档时间: |
|
查看次数: |
7790 次 |
最近记录: |