Dans les anciens systèmes Linux, la commande logger
peut être utilisée pour envoyer un message de journal à syslog.
En lisant où 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?
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 lpr
uucp
nntp
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