web-dev-qa-db-ja.com

コマンドラインからsystemdジャーナルにメッセージを送信するにはどうすればよいですか?

古いLinuxシステムでは、loggerコマンドを使用してログメッセージをsyslogに送信できます。

どこでloggerはArch Linuxのメッセージをログに記録しますか?syslogメッセージとloggerコマンドラインアプリはsystemdジャーナル メッセージ転送用のソケットが設定されている場合

それでは、loggerコマンドに相当する現代的なものは何でしょうか。 コマンドラインからsystemdジャーナルに直接メッセージを送信するにはどうすればよいですか?

48
mikemaccana

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の古い機能のようなものですが、lpruucpnntpや、local0からlocal7までの説明など、昔ながらのものに悩まされることはありません。

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

次のように記録されます:

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