Linux下向系统写日志, 写journalctl可以看的日志
目录
在 Linux 系统中,您可以使用 systemd-journald 来收集和存储日志数据,并通过 journalctl 命令来查看这些日志。您可以通过标准输入将输出写入 systemd-journald,然后使用 journalctl -f 或其他过滤器命令来查看日志。
将日志写入 journald
有很多方法可以将日志写入 journald,最常见的是通过 syslog 接口或直接使用 systemd-cat 命令。
-
使用标准输入(例如,通过管道)
-
在 Bash 脚本中,可以将命令的输出通过管道发送到
systemd-cat命令,systemd-cat会将输出写入systemd-journald。 -
例如,要记录一个脚本的输出:
echo "这是我的脚本输出日志" | systemd-cat -
您还可以使用 logger 命令将消息写入 syslog,然后由
systemd-journald捕获。logger "这是一个使用 logger 命令写入的日志"
-
-
使用
systemd-journald的标准输出接口systemd-journald可以通过标准的 C 库syslog(3)接口来收集系统日志。许多应用程序和系统工具都利用这个接口来发送日志。
使用 journalctl 查看日志
一旦日志被写入 journald,就可以使用 journalctl 来查看它们。
-
实时查看日志:
journalctl -f这个命令会显示最新的日志,并在新日志出现时继续输出。
-
查看特定服务的日志:
journalctl -u <service_name>.service例如,要查看
nginx服务的日志:journalctl -u nginx.service -
过滤日志:
journalctl提供了丰富的过滤选项,可以根据时间、优先级、单元等进行过滤。-
根据优先级过滤:
journalctl -p err这将只显示错误级别的日志。
-
查看特定时间的日志:
journalctl --since "2025-10-10 10:00:00" --until "2025-10-10 11:00:00"这将显示在指定时间段内的日志。
-
查看根据字符筛选的日志:
journalctl -b --user | grep -i kwallet
-