Como criar um arquivo de log de falha pertencente ao syslog durante a execução do serviço systemd?

2

Estou executando o Go binary como um serviço no Ubuntu 16.04, e não consigo criar o arquivo de log que pertence ao syslog. Eu criei um serviço para myapp.service e se parece com o seguinte:

[Unit]
Description=myapp

[Service]
Type=simple
Restart=always
RestartSec=30
WorkingDirectory= /home/go/src/myapp
ExecStart=/home/go/src/myapp/myapp  

# myapp.log owned by syslog
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /var/log/myapp
ExecStartPre=/bin/chown syslog:adm /var/log/myapp
ExecStartPre=/bin/chmod 755 /var/log/myapp
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myapp                           

[Install]
WantedBy=multi-user.target

Agora apenas cria uma pasta dentro de / var / log / myapp. Mas não criou nenhum arquivo myapp.log dentro da pasta myapp. Eu posso verificar esses logs usando o comando ::

sudo journalctl -f -u myapp

Depois de usar o rsyslog para gerenciar syslogs, criei um arquivo dentro do /etc/rsyslog.d/myapp.conf com o seguinte conteúdo:

if $programname == 'myapp' then /var/log/myapp/myapp.log
& stop

Depois disso, reiniciei o serviço. Ele cria um arquivo de log para mim. Mas isso inclui log para sucesso e falha, e eu só quero criar logs de falha, como isso é possível ??

    
por Archana 20.09.2018 / 06:51

0 respostas

Tags