Linux提供了一个强大的日志系统,这个日志系统中,journalctl就是一个非常重要的工具,用于查询和操作systemd进程管理的日志。
语法格式: journalctl [参数] [对象]
常用参数:
| 参数 | 说明 | 常用方法 |
| -a | 显示所有字段信息 | journalctl -a |
| -b | 显示本次系统启动日志 | journalctl -b |
| -c | 从指定位置开始显示条目 | |
| -D | 设置目录路径 | |
| -f | 追踪日志内容 | journalctl -xf |
| -k | 显示内核日志 | 指定查看内核日志信息: |
| -m | 显示所有可用日志 | |
| -n | 设置日志条数 | journalctl -n 10 |
| -o | 设置日志条目格式 | |
| -p | 依据优先级筛选 | |
| -q | 静默执行模式 | |
| -r | 按时间倒序打印日志消息 | |
| -u | 显示指定服务(systemd Unit) 的日志 | journalctl -u sshd |
| --help | 显示帮助信息 | |
| --version | 显示版本信息 参考示例 | |
| -x | 添加解释性帮助文本在输出中记录可用的消息。用来自消息目录的解释文本扩充日志行,增强日志文件可读性,使用的比较多。 | journalctl -xf 当将journalctl输出附加到bug报告时,请不要使用-x。 |
- 查看全部日志
journalctl -xe
- 以flow形式查看日志
journalctl -f
- 查看内核日志
$ journalctl -k
- 查看指定服务日志
$ journalctl -u docker.serivce
- 查看指定日期日志
$ journalctl --since="2018-09-21 10:21:00" -u docker
$ journalctl --since="2018-09-21 10:21:00" --until="2018-09-21 10:22:00" -u docker
- 查看指定级别日志
$ journalctl -p 3 -u docker.service
操作系统提供了从0 (emerg) 到 7 (debug) 一共7个级别的日志,7个级别的含义为:
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug
- 查看日志占用的磁盘空间
$ journalctl --disk-usage
- 设置日志占用的空间
$ journalctl --vacuum-size=500M
- 设置日志保存的时间
$ journalctl --vacuum-time=1month
- 检查日志文件一致性
$ journalctl --verify




