Ubuntu 18 journalctl цвет не работает py3 - PullRequest
0 голосов
/ 15 января 2020

Ubuntu 18, python3. Мы переносим старый проект из py2 / ubuntu 14. Мы продолжаем получать правильно окрашенные логи, если мы просто запустим: sudo python3 main.py

Но если мы запустим это как systemd и используем journalctl -f -u main -o cat, мы просто получите белый текст, распечатайте.

Ниже приведен тестовый файл / процесс, который я пробовал, с тем же результатом:

test.py

import logging
import chromalog

chromalog.basicConfig(level=logging.DEBUG)
logger = logging.getLogger()

logging.debug("This is a debug message")
logging.info("This is an info message")
logging.warning("This is a warning message")
logging.error("This is an error message")
logging.critical("This is a critical message")

Если я запустил это как следует: sudo python3 test.py

Затем я получаю цветную печать.

Если я создаю службу /etc/systemd/system/test.service:

[Unit]
Description=test log

[Service]
ExecStart=/usr/bin/python3 /srv/test.py

[Install]
WantedBy=multi-user.target

Я тогда 2 терминала windows открыты, один для запуска службы и один работающий: journalctl -f -o cat

В моем основном окне termianl я запускаю: service test start Я получу цветной отпечаток, как и ожидалось, но в моем journalctl Я ничего не получаю.

Я читал, что journalctl должен печатать свою раскраску. Я пытался не использовать chromalog и просто использовать: from system import journal

Но это печатает в главном окне терминала без окраски, а также journalctl.

Я что-то упускаю очевидное в отношении в py3 + ведение журнала Ubuntu + Systemd? Это часть проекта, который мы переносим из ubuntu14 py2.

Cheers

...