Logging

如何從命令行向 systemd 日誌發送消息?

  • November 1, 2020

在較舊的 Linux 系統中,該logger命令可用於向 syslog 發送日誌消息。

閱讀Arch Linux 中將其消息記錄到哪裡logger,如果設置了用於消息轉發的套接字syslog,消息和logger命令行應用程序似乎只與systemd日誌對話。

那麼logger命令的現代等價物是什麼?如何從命令行直接向 systemd 日誌發送消息?

systemd-cat相當於記錄器:

echo 'hello' | systemd-cat

在另一個終端中,執行journalctl -f

Feb 07 13:38:33 localhost.localdomain cat[15162]: hello

優先級僅由字元串的一部分指定:

echo 'hello' | systemd-cat -p info
echo 'hello' | systemd-cat -p warning
echo 'hello' | systemd-cat -p emerg

警告是粗體的,緊急情況是粗體和紅色的。可怕的東西。

您還可以使用任意的“標識符”來指定應用程序名稱。這些就像 syslog 的舊設施,但您不會被古老的東西所束縛,lpr uucp nntp例如.local0``local7

echo 'hello' | systemd-cat -t someapp -p emerg

記錄為:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello

引用自:https://serverfault.com/questions/573946