Как заставить логировать python скрипт в режиме демона?

Есть программа, написанная на Python, которая логирует исключения в файл, с помощью стандартного модуля logging. Запускаю в Ubuntu 18. Всё замечательно работает, логи записываются в файл. Но. Как только я запускаю скрипт как сервис, с использованием systemctl, логирование отваливается. При этом, во всём остальном скрипт стабильно работает в режиме демона(кроме работы с электронной почтой, но это уже тема отдельного вопроса)

Подскажите пожалуйста как сделать так, чтобы логирование работало так же, как и в случае обычного запуска?


Ответы (1 шт):

Автор решения: eri

Ведь логи можно писать в журнал:

import logging
from systemd.journal import JournalHandler
level = logging.INFO
handlers=[JournalHandler()]
logging.basicConfig(level=level, handlers=handlers)

И смотреть их journalctl -u yourproject.service или journalctl --user -u yourproject.service

→ Ссылка