古いLinuxシステムでは、logger
コマンドを使用してログメッセージをsyslogに送信できます。
どこでlogger
はArch Linuxのメッセージをログに記録しますか? 、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