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

46

In älteren Linux-Systemen kann der loggerBefehl verwendet werden, um eine Protokollmeldung an syslog zu senden.

Lesen , wo sich loggerseine Nachrichten in Arch Linux anmelden? Es scheint, dass syslogNachrichten und die loggerBefehlszeilen-App nur dann mit dem systemdJournal kommunizieren, wenn ein Socket für die Nachrichtenweiterleitung eingerichtet ist .

Was ist das moderne Äquivalent des loggerBefehls? Wie kann ich über die Befehlszeile eine Nachricht direkt an das systemd-Journal senden?

Mikemaccana
quelle
Wir können rsyslog auch so konfigurieren, dass journalctl-Protokolle als Eingabe und anschließend als Dateien auch über rsyslog ausgegeben werden.
Luv33preet

Antworten:

59

systemd-cat ist das Äquivalent zu Logger:

echo 'hello' | systemd-cat

In einem anderen Terminal wird ausgeführt journalctl -f:

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

Prioritäten werden nur durch einen Teil der Zeichenfolge 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 beliebigen Bezeichner verwenden, um den Namen der App anzugeben. Diese sind wie syslog alte Einrichtungen, aber Sie sind nicht fest mit alten Sachen wie lpr uucp nntpoder die immer beschreibend local0durch local7.

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

Ist angemeldet als:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello
Mikemaccana
quelle
6
Sehr hilfreich. -tMit dem folgenden Befehl können Sie nach Protokollmeldungen filtern, die mit erstellt wurden :journalctl -t someapp
Att Righ