如何从命令行向系统日志发送消息?


46

在较旧的Linux系统中,该logger命令可用于将日志消息发送到syslog。

阅读在Arch Linux中将其消息记录到何处logger看来,如果设置了用于消息转发的套接字,则syslog消息和logger命令行应用程序只会与systemd日记对话。

那么,logger命令的现代含义是什么?如何从命令行直接将消息发送到systemd日记?


我们还可以配置rsyslog以将journalctl日志作为输入,然后也通过rsyslog将它们输出为文件。
Luv33preet

Answers:


59

systemd-cat 与记录器等效:

echo 'hello' | systemd-cat

在另一个终端中,运行journalctl -f

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

优先级仅由字符串的一部分指定:

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

警告是粗体,紧急情况是粗体和红色。可怕的东西。

您还可以使用任意的“标识符”来指定应用名称。它们是这样的系统日志的旧设施,但你不能坚持与古之类的东西lpr uucp nntp或者不断描述local0local7

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

记录为:

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

6
很有用。您可以-t使用以下命令过滤创建的日志消息:journalctl -t someapp
Att Righ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.