Comment puis-je envoyer un message au journal systemd à partir de la ligne de commande?

46

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

Lire loggerenregistre ses messages dans Arch Linux? , il semble que les syslogmessages et l’ loggerapplication en ligne de commande ne parlent au systemdjournal que si un socket pour le transfert des messages est configuré .

Alors, quel est l'équivalent moderne de la loggercommande? Comment puis-je envoyer un message directement au journal systemd à partir de la ligne de commande?

Mikemaccana
la source
nous pouvons également configurer rsyslog pour prendre les journaux journalctl en entrée, puis les exporter sous forme de fichiers, également via rsyslog.
Luv33preet

Réponses:

59

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

echo 'hello' | systemd-cat

Dans un autre terminal, en cours d'exécution journalctl -f:

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

Les priorités sont spécifiées simplement 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 audacieux, les urgences sont audacieuses et rouges. Des choses effrayantes.

Vous pouvez également utiliser un "identifiant" qui est 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 nntpou toujours descriptive local0par local7.

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

Est enregistré comme:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello
Mikemaccana
la source
6
Très utile. Vous pouvez filtrer les messages de journal créés à l' -taide de la commande suivante:journalctl -t someapp
Att Righ