tail
作用
在屏幕上显示指定文件的末尾若干行
实时查看进程生成的日志文件
根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -f log.txt
journalctl
作用
主要用于查看系统日志,包括 systemd 服务的日志和系统事件
实时查看进程对应的服务
监控指定服务名的日志,-f 表示滚动监控
sudo journalctl --unit=your-service-name.service -f
tail和journal的优缺点
优点
- tail监控的是程序定义好的日志,数据量小,简单易用
- journalctl监控的是服务,不依赖于具体的文件,且它的日志是整个进程产生的日志都会被收集,所以可以监控到日志文件中没有的内容
缺点
- tail是监控文件的变化,将变更的内容显示再屏幕上,所以它的前提必须是要有文件
- tail只能监控日志文件中有的内容,没有是无法显示的,如果日志文件一般记录的都是info级别以上的记录,如果你想看debug级别的日志,那对不起,看不了。
- journalctl监控的程序必须使用systemd管理的服务