Atualmente, estou tentando criar uma unidade systemd como um servidor web. Atualmente, meu foo.service
arquivo tem a seguinte aparência:
[Unit]
Description=The Foo Web Server
[Service]
Type=simple
ExecStart=/opt/foo/.cabal-sandbox/bin/foo
[Install]
WantedBy=multi-user.target
O foo
executável registra automaticamente todas as solicitações HTTP no stdout - isso é bem testado. No entanto, quando visualizo os logs com journalctl -u foo
, apenas recebo resultados como este:
...
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...
Alguém poderia explicar por que não está registrando todas as saídas stdout? Eu olhei brevemente para esta pergunta anterior , mas ela não ajuda - no entanto, aludiu a algo como "... pode não funcionar para sistemas que não usam o systemd completo " - seria este o caso do Ubuntu 15.04 ? Agradecemos antecipadamente, qualquer ajuda com isso seria muito apreciada!
print('Hello World!', flush=True)
e isso fez o truque! A saída começou a aparecer no journalctl.