Eu tenho um serviço systemd:
[Unit]
Description=My application
[Service]
ExecStart=/bin/java myapp.jar
Type=simple
User=photo
Existe uma opção: StandardOutput= mas não entendo como usá-la para gravar em um arquivo. https://www.freedesktop.org/software/systemd/man/systemd.exec.html
Eu esperava colocar um caminho de arquivo em algum lugar, mas a documentação fala sobre soquetes e descritores de arquivo. parece que precisa de mais configuração do que apenas essa palavra-chave.
Onde colocar o caminho do arquivo? Não consigo encontrar nenhum exemplo desse uso
Obrigado
Usar:
conforme documentado aqui: https://www.freedesktop.org/software/systemd/man/systemd.exec.html#StandardOutput=
Observe que, dessa forma, o conteúdo dos arquivos de log será substituído sempre que o serviço for reiniciado.
StandardOutput/Error
As diretivas systemd não suportam anexação a arquivos.Se você deseja manter o log do arquivo entre as reinicializações do serviço e apenas anexar novas linhas registradas a ele, use:
exec
significa que o programa shell será substituído pelo/bin/java
programa após configurar redirecionamentos sem bifurcação. Portanto, não haverá diferença em executar/bin/java
diretamente apósExecStart=
.Se seu aplicativo for um script Python, você também precisará definir
Caso contrário, você não verá nenhuma mensagem de log até que o buffer seja liberado.