Como seguir o log da unidade do systemd?

Como seguir o log da unidade do systemd?

Eu tenho uma unidade systemd em execução e quero seguir seu log.

Eu sei que posso mostrar o log da unidade usando:

journalctl -u my_unit.service

Mas isso apenas imprime os logs atuais sem segui-los.

Eu sei que também posso seguir systemdos registros usando:

journalctl -f

Mas isso envia spam para a saída seguindo todos os logs conhecidos, então tenho que procurar o que me interessa.

Uma solução temporária parece ser a canalização de logs seguidos para a filtragem grep da saída, mas essa não é uma solução muito sistemática:

journalctl -f | grep "what i'm interested in"

Não existe um comando para seguir os logs de determinada unidade?

O que eu tentei, mas não funcionou:

journalctl -uf my_unit.service

Responder1

Descobri que estou usando os argumentos de maneira incorreta. Na verdade, os registros podem ser seguidos para uma única unidade usando:

journalctl -fu my_unit.service

Outras variações de trabalho:

journalctl -f -u my_unit.service
journalctl -u my_unit.service -f

Dejournalctlmanual:

-u,--unit=UNIT|PATTERN

    Mostrar mensagens para a unidade systemd especificadaUNIT(como uma unidade de serviço), ou para qualquer uma das unidades correspondidas porPATTERN. Se um padrão for especificado, uma lista de nomes de unidades encontradas no diário será comparada com o padrão especificado e todas as correspondências serão usadas. Para cada nome de unidade, uma correspondência é adicionada para mensagens da unidade (" "), juntamente com correspondências adicionais para mensagens do systemd e mensagens sobre coredumps para a unidade especificada._SYSTEMD_UNIT=UNIT

    Este parâmetro pode ser especificado diversas vezes.

-f, --follow

    Mostre apenas os lançamentos mais recentes e imprima continuamente novos lançamentos à medida que são anexados ao diário.

informação relacionada