Frage Wie kann ich über die Befehlszeile eine Nachricht an das Systemd-Journal senden?


In älteren Linux-Systemen ist der logger Befehl kann verwendet werden, um eine Protokollnachricht an Syslog zu senden.

lesen Wo ist das? logger Melden Sie seine Nachrichten in Arch Linux?, Es scheint, dass syslog Nachrichten und die logger Befehlszeilen-App nur mit dem sprechen systemd Tagebuch wenn ein Socket für die Nachrichtenweiterleitung eingerichtet ist.

Also, was ist das moderne Äquivalent der logger Befehl? Wie kann ich eine Nachricht direkt von der Befehlszeile an das System-Journal senden?


32
2018-02-07 13:23


Ursprung


wir können rsyslog auch so konfigurieren, dass journalct-logs als eingabe genommen und dann als dateien auch über rsyslog ausgegeben werden. - Luv33preet


Antworten:


systemd-cat ist das Äquivalent zu Logger:

echo 'hello' | systemd-cat

In einem anderen Terminal läuft journalctl -f:

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

Prioritäten werden nur durch einen Teil des Strings angegeben:

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

Warnungen sind fett, Notfälle sind fett und rot. Gruseliges Zeug.

Sie können auch einen "Bezeichner" verwenden, der beliebig ist, um den App-Namen anzugeben. Diese sind wie alte Syslog-Einrichtungen, aber Sie sind nicht mit alten Dingen wie 'lpr' 'uucp' 'nntp' oder dem immer beschreibenden 'local0' bis 'local7' festgefahren.

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

Wird protokolliert als:

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

41
2018-02-07 13:39



Sehr hilfreich. Sie können auf die Protokollnachrichten filtern, die mit erstellt wurden -t Verwenden Sie den folgenden Befehl: journalctl -t someapp - Att Righ