Como posso enviar uma mensagem para o diário do systemd a partir da linha de comando?

34

Em sistemas Linux mais antigos, o comando logger pode ser usado para enviar uma mensagem de log ao syslog.

Lendo onde logger log suas mensagens no Arch Linux? , parece que syslog messages e o aplicativo de linha de comando logger só falam com o systemd journal se um soquete para o encaminhamento de mensagens estiver configurado .

Então, qual é o equivalente moderno do comando logger ? Como posso enviar uma mensagem diretamente para o diário do systemd a partir da linha de comando?

    
por mikemaccana 07.02.2014 / 14:23

1 resposta

43

systemd-cat é o equivalente a registrador:

echo 'hello' | systemd-cat

Em outro terminal, executando journalctl -f :

Feb 07 13:38:33 localhost.localdomain cat[15162]: hello

As prioridades são especificadas apenas por parte da string:

echo 'hello' | systemd-cat -p info
echo 'hello' | systemd-cat -p warning
echo 'hello' | systemd-cat -p emerg

Os avisos são ousados, as emergências são ousadas e vermelhas. Coisas assustadoras.

Você também pode usar um 'identificador' arbitrário para especificar o nome do aplicativo. Estas são como as antigas instalações do syslog, mas você não está preso a coisas antigas como 'lpr' 'uucp' 'nntp' ou o sempre descritivo 'local0' através de 'local7'.

echo 'hello' | systemd-cat -t someapp -p emerg

está logado como:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello
    
por 07.02.2014 / 14:39