Eu implantei alguns daemons em caixas do ubuntu e os envolvi como serviços systemd. Sua saída padrão é redirecionada para o diário por padrão, que é o que eu esperava.
Agora, a configuração padrão do ubuntu (acho que mesmo no debian) é fazer o journald encaminhar todos os eventos para / run / systemd / journal / syslog (veja /etc/systemd/journald.conf: #ForwardToSyslog = yes) e ter o rsyslog puxando dados de lá com o módulo imuxsock (veja /etc/rsyslog.conf). Por padrão, também vejo que, em /etc/rsyslog.d/50-default.conf, temos esta linha:
.;auth,authpriv.none -/var/log/syslog
, ou seja, todos os dados não-auth terminam em / var / log / syslog
Como queria rastrear a saída dos meus serviços no journald, tornei o arquivo de log do journald persistente criando / var / log / journal (em /etc/systemd/journald.conf, o valor padrão do Storage é auto).
O resultado é que agora todos os meus dados de log são duplicados: eles são armazenados uma vez no journald e uma vez no / var / log / syslog do rsyslog.
Então, por várias razões, eu realmente quero manter os dados do meu próprio serviço no journald, mas eu realmente não quero duplicar esses dados (existem muitos logs!).
Eu posso ver algumas opções:
.;auth,authpriv.none;daemon.!=info -/var/log/syslog
Agora, a pergunta é: qual seria a maneira recomendada de proceder?