Como direcionar a saída do diário de determinadas unidades para um arquivo específico?


12

Eu tenho um sistema com vários daemons em execução (como unidades systemd) que enviam informações de log para o diário no Arch Linux. Desejo direcionar a saída do diário de alguns desses arquivos de unidade para um arquivo de texto separado cuja localização eu especifique, criando essencialmente um arquivo de log para um subconjunto de unidades. Como posso fazer isso?


Respostas:


10

Parece que isso não é possível e indesejado pelo upstream (redirecionando stdout / stderr para arquivos individuais), veja, por exemplo, http://lists.freedesktop.org/archives/systemd-devel/2012-March/004705.html - leia o tópico inteiro para obter mais informações informações de contexto como isso deve funcionar.

O que você pode fazer é fazer logon no syslog e, dessa forma, gravar em arquivos individuais. Ou o contrário, se a unidade chamar algum programa que possa gravar um registro em si, use-o para registrar em um arquivo.

Você também pode dar uma olhada em Exibir stdout / stderr do serviço systemd

O que você já pode fazer com sua configuração atual é usar
journalctl -u yourunitname > yourlogfile_for_yourunitname
para direcionar toda a saída do diário da sua unidade "yourunitname" em um arquivo.

Na última parte, você também deve dar uma olhada nas dicas de Lennart do tópico da lista de discussão acima mencionado:

Nas versões systemd recentes, algo como systemd-journalctl -o cat _SYSTEMD_UNIT=postgresql.servicedeveria criar uma saída muito simples que inclui apenas as mensagens reais e nada mais. Você pode até passar "-f" e tornar isso ativo. "

EDIT: Na verdade, para versões mais recentes do systemd, o comando é apenas journalctl e, pelo que posso dizer, o comando long acima é o mesmo journalctl -u yourunitnamee você também pode -f"acompanhar" a saída (como em tailf ou tail -f).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.