Arquivos de log do aplicativo para o diário do systemd

1

Algo que estive pensando é se é possível fazer o systemd começar a rastrear um arquivo de log quando uma unidade é ativada, e enviar esses dados para o diário do sistema.

Para fins de discussão, digamos que este programa registre em um arquivo de texto simples e não em stdout. Se eu tivesse que dar um exemplo, um servidor Minecraft funcionaria.

Eu sei de systemd-cat , mas este é apenas um aplicativo de terceiros como logger que não está vinculado ao sistema de unidades.

    
por Mikey T.K. 13.01.2017 / 06:54

1 resposta

1

Você pode tentar isso no seu arquivo de unidade de serviço:

ExecStartPost=/bin/sh -c 'tail -f /path/to/log | systemd-cat'

Será um pouco mais frágil que o padrão recomendado de logging para STDOUT, porque se o arquivo de log for rotacionado, tail não necessariamente será conectado ao descritor de arquivo novamente até que o serviço seja reiniciado.

Não há nenhuma função interna para seguir um arquivo de log que eu saiba. Isso é algo que outros sistemas de log como rsyslog podem fazer.

    
por 13.01.2017 / 17:14

Tags