systemdとPythonのロギング

systemdとPythonのロギング

私は単純なpython3スクリプトを書いて、それを使ってサービスを作成したいと思います。これは2つのファイルです

#!/bin/python3
while True:
     print('True')

システムサービス:

[Unit]
Description=True Service

[Service]
Type=simple
ExecStart=python3 /root/print_true.py
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

サービスは開始されますが、どこにも出力は表示されません。ここはダメjournalctl -u true-service.service、ここはダメsystemctl status true-service、ここはダメsyslog。ただ日記帳に書き留めたいのですが、どうすればいいですか?有効な回答が見つからないようです。

答え1

systemd-catこれを達成するには、出力をパイプで接続します。

テストを受けてください:

echo "hello world" | systemd-cat -ttrue-service

リスト出力:

journalctl -t true-service

サービスユニットを変更してください。

ExecStart=/usr/bin/python3 /root/print_true.py | /usr/bin/systemd-cat -ttrue-service

関連情報