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 systemd
os 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
Dejournalctl
manual:
-u
,--unit=UNIT|PATTERN
Mostrar mensagens para a unidade systemd especificada
UNIT
(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.