4

I have a custom service and have explicitly called for all stdout & stderr to be sent to syslog in the config file, however only some of the output appears in both syslog and the journal (they are consistent).

I my desperation I have done the following in the service files:

StandardOutput=syslog+console
StandardError=syslog+console

The service is a python script and I write to stdout using the 'print' statement (Python 2.7). These items seem to be lost to the ether, while other command outputs write correctly both to syslog and journald. If I run the script interactively everything appears in stdout as expected.

What is lacking in my knowledge?

3

JdeBP's comment was the correct solution:

Systemd Python service not sending all output to syslog

The solution was to add the -u option to the interpreter to make standard streams send their output unbuffered.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.