В настоящее время я пытаюсь сделать системный модуль в качестве веб-сервера. В настоящее время мой foo.service
файл выглядит следующим образом:
[Unit]
Description=The Foo Web Server
[Service]
Type=simple
ExecStart=/opt/foo/.cabal-sandbox/bin/foo
[Install]
WantedBy=multi-user.target
foo
Исполняемый файл автоматически регистрирует все запросы HTTP на стандартный вывод - это хорошо протестирован. Однако, когда я просматриваю логи с помощью journalctl -u foo
, я получаю только вывод, подобный этому:
...
May 06 17:46:57 localhost systemd[1]: Stopping The Foo Web Server...
May 06 17:46:57 localhost systemd[1]: Started Foo Web Server.
May 06 17:46:57 localhost systemd[1]: Starting The Foo Web Server...
May 06 17:47:08 localhost systemd[1]: Stopping The Foo Web Server...
May 06 17:47:08 localhost systemd[1]: Started The Foo Web Server.
May 06 17:47:08 localhost systemd[1]: Starting The Foo Web Server...
Может кто-нибудь объяснить, почему он не регистрирует весь вывод stdout? Я кратко посмотрел на этот предыдущий вопрос , но он не помогает - однако он ссылается на что-то вроде «... может не работать для систем, которые не используют полный systemd» - будет ли это в Ubuntu 15.04 ? Заранее спасибо, любая помощь с этим будет высоко ценится!
print('Hello World!', flush=True)
и это помогло! Выход начал отображаться в журнале.