¿Cómo puedo enviar un mensaje al diario systemd desde la línea de comandos?

46

En sistemas Linux más antiguos, el loggercomando se puede usar para enviar un mensaje de registro a syslog.

¿Leyendo dónde loggerregistra sus mensajes en Arch Linux? , parece que los syslogmensajes y la loggeraplicación de línea de comandos solo hablan con el systemddiario si se configura un socket para el reenvío de mensajes .

Entonces, ¿cuál es el equivalente moderno del loggercomando? ¿Cómo puedo enviar un mensaje directamente al diario systemd desde la línea de comandos?

mikemaccana
fuente
también podemos configurar rsyslog para tomar registros de journalctl como entrada y luego generarlos como archivos también a través de rsyslog.
Luv33preet

Respuestas:

59

systemd-cat es el equivalente al registrador:

echo 'hello' | systemd-cat

En otra terminal, ejecutando journalctl -f:

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

Las prioridades se especifican solo por parte de la cadena:

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

Las advertencias son audaces, las emergencias son audaces y rojas. Cosas de miedo.

También puede usar un 'identificador' que es arbitrario, para especificar el nombre de la aplicación. Estos son como viejas instalaciones de registro del sistema, pero no se pegan con cosas antiguas como lpr uucp nntpo la siempre descriptiva local0a través local7.

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

Se registra como:

Feb 07 13:48:56 localhost.localdomain someapp[15278]: hello
mikemaccana
fuente
66
Muy útil. Puede filtrar los mensajes de registro creados con -tel siguiente comando:journalctl -t someapp
Att Righ