web-dev-qa-db-fra.com

Comment envoyer un message au journal systemd depuis la ligne de commande?

Dans les anciens systèmes Linux, la commande logger peut être utilisée pour envoyer un message de journal à syslog.

En lisant logger enregistre-t-il ses messages dans Arch Linux? , il semble que les messages syslog et l'application de ligne de commande logger ne parlent qu'aux systemd journal si un socket pour le transfert des messages est configuré .

Quel est donc l'équivalent moderne de la commande logger? Comment envoyer un message directement au journal systemd depuis la ligne de commande?

48
mikemaccana

systemd-cat est l'équivalent de l'enregistreur:

echo 'hello' | systemd-cat

Dans un autre terminal, exécutez journalctl -f:

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

Les priorités sont spécifiées uniquement par une partie de la chaîne:

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

Les avertissements sont en gras, les urgences sont en gras et en rouge. Des trucs effrayants.

Vous pouvez également utiliser un "identifiant" arbitraire pour spécifier le nom de l'application. Ce sont comme les anciennes installations de syslog, mais vous n'êtes pas coincé avec des choses anciennes comme lpruucpnntp ou le toujours descriptif local0 par local7.

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

Est connecté en tant que:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello
63
mikemaccana