systemd サービス出力行のログレベルを表示するには?

systemd サービス出力行のログレベルを表示するには?

システムサービスとして実行したいスクリプトがあります。

私はstdoutとstderrがsystemdログにルーティングされることを知っています。 INFO、ERROR、または適切なものとして処理されるように出力ラインを指示する方法はありますか?

ベストアンサー1

~から開発者IIIのためのsystemd:systemdの復讐私たちは以下を見つけます:

この例の印刷文字列は、デフォルトのログ優先順位LOG_INFOとして記録されます。1。場合によっては、印刷された文字列のログ優先順位を変更すると便利です。 systemdがサービスのSTDOUT / STDERRを解析すると、各行の先頭の<>に含まれる優先順位の値が見つかります。

マジックナンバーは明らかにコピーsyslog(3)されました。

$ egrep 'INFO|ERR' /usr/include/sys/syslog.h | fgrep define
#define LOG_ERR     3   /* error conditions */
#define LOG_INFO    6   /* informational */
#define LOG_PERROR  0x20    /* log to stderr as well */

TCLスクリプトなどから情報やエラーメッセージをエクスポートするには:

#!/usr/bin/env expect
puts "<3>auuugh"
puts "<6>infos"

おすすめ記事