要查看systemd
服务的实时日志,可以使用journalctl
命令。journalctl
命令允许您查看systemd
日志系统中的各种日志条目,包括服务的日志。以下是如何使用journalctl
来查看systemd
服务的实时日志:
查看特定服务的实时日志:
使用以下命令来查看特定服务(例如nginx)的实时日志:
sudo journalctl -u nginx -f
查看所有服务的实时日志:
sudo journalctl -f
查看特定时间范围内的日志:
sudo journalctl -u nginx --since "1 hour ago"
可以使用 --since
标志加上一些时间描述,如 yesterday
, 1 hour ago
, 2023-08-22
, 等来限制日志的时间范围。
按级别过滤日志:
sudo journalctl -u nginx -p warning -f
以上命令中的 -u
和 -p
标志是用来过滤特定服务和日志级别的,您可以根据实际情况进行调整。使用journalctl
命令时,还可以通过其他选项来进一步定制您想要的日志显示方式,您可以通过 man journalctl
命令来查看所有的选项和用法说明。
journalctl介绍:
在Ubuntu中,systemd
服务的日志通常存储在journald
日志系统中,而不是单独的文件夹。journald
是一个日志管理系统,将日志存储在二进制格式中,并可以通过journalctl
命令来检索和查看这些日志。
默认情况下,journald
将日志存储在/var/log/journal
目录下,分为系统日志和用户日志。这个目录包含了所有systemd
单元(包括服务)的日志。
具体来说,系统级别的日志存储在/var/log/journal/<machine-id>
目录中,其中<machine-id>
是机器的唯一标识符。您可以使用以下命令查看系统级别的日志:
如果需要禁用日志服务,则需要在*.service中配置以下内容:
[Service]
StandardOutput=null
StandardError=null
上述配置将标准输出和标准错误输出都定向到空设备,从而阻止将日志输出到journald。