我只是把这样的东西放在我的 bash 脚本的顶部。这仍然适用于 systemd。 (我用了很久,也没有完全理解,只是管用,所以就用了。)
exec 5> >(logger -t $0)
BASH_XTRACEFD="5"
PS4='$LINENO: '
set -x
即使使用 systemd,上述命令也会在 Journalctl 中给出预期的输出。然而,似乎也许我应该使用这样的东西来代替。
systemd-cat -t $0
我应该如何更改 systemd 下当前的日志记录命令?
(我正在寻找同样简单的解决方案,我可以在其中粘贴几行并在日志中获得一些输出。)
答案1
我会坚持logger
:它适用于任何符合标准的日志系统,包括您发现的 systemd 日志。直接使用systemd-cat
只会使您的脚本特定于 systemd,而无需添加任何内容;事实上,现代logger
比 systemd 更灵活,并且为特定于 systemd 的功能提供更好的支持systemd-cat
本身。