Systemd

Systemd Python 服務未將所有輸出發送到 syslog

  • January 12, 2022

我有一個自定義服務,並明確要求將所有標準輸出標準錯誤發送到配置文件中的系統日誌,但是只有一些輸出出現在系統日誌和日誌中(它們是一致的)。

我絕望地在服務文件中完成了以下操作:

StandardOutput=syslog+console
StandardError=syslog+console

該服務是一個 python 腳本,我使用該語句寫入標準輸出。print這些項目似乎失去了,而其他命令輸出正確寫入syslogjournald。如果我以互動方式執行腳本,一切都會按預期出現在標準輸出中。

我的知識缺乏什麼?

JdeBP 的評論是正確的解決方案:

Systemd Python 服務未將所有輸出發送到 syslog

解決方案是向解釋器添加-u選項,以使標準流無緩沖地發送其輸出。

引用自:https://unix.stackexchange.com/questions/285419