Come posso inviare un messaggio al journal di systemd dalla riga di comando?


46

Nei sistemi Linux precedenti, il loggercomando può essere utilizzato per inviare un messaggio di registro a syslog.

Leggendo dove loggerregistra i suoi messaggi in Arch Linux? , sembra che i syslogmessaggi e l' loggerapp della riga di comando comunichino con il systemdjournal solo se è impostato un socket per l'inoltro dei messaggi .

Quindi qual è l'equivalente moderno del loggercomando? Come posso inviare un messaggio direttamente al journal di systemd dalla riga di comando?


possiamo anche configurare rsyslog per prendere i registri journalctl come input e quindi inviarli come file anche tramite rsyslog.
Luv33preet,

Risposte:


59

systemd-cat è l'equivalente del logger:

echo 'hello' | systemd-cat

In un altro terminale, in esecuzione journalctl -f:

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

Le priorità sono specificate solo da parte della stringa:

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

Gli avvisi sono in grassetto, le emergenze sono in grassetto e rosse. Roba spaventosa.

Puoi anche usare un 'identificatore' che è arbitrario, per specificare il nome dell'app. Questi sono come vecchi impianti di syslog, ma non sei bloccato con le cose antiche come lpr uucp nntpo il sempre-descrittiva local0attraverso local7.

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

È registrato come:

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

6
Molto utile. È possibile filtrare i messaggi di registro creati con -til seguente comando:journalctl -t someapp
Att Righ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.