麒麟os中需用journalctl调用结构化日志系统排查故障;支持查看全部日志、限定启动周期、按时间/服务/优先级筛选、实时跟踪及导出日志等七类方法。

如果您在麒麟OS中需要定位系统异常、排查服务故障或分析运行行为,则必须准确调用结构化日志系统。journalctl 是 systemd-journald 的核心接口,直接读取二进制日志存储(位于 /var/log/journal),支持时间、服务单元、优先级等多维实时过滤。以下是查看系统日志的多种有效方法:
一、查看全部系统日志(默认倒序)
journalctl 默认以时间倒序(最新在前)输出全部日志条目,日志内容包含时间戳、服务名、优先级及原始消息,适合快速概览整体运行状况。
1、打开终端(快捷键 Ctrl+Alt+T)。
2、输入命令:sudo journalctl。
3、使用方向键 ↑/↓ 滚动浏览;按 q 退出分页视图。
二、限定当前启动周期的日志
排除历史启动残留日志干扰,仅聚焦本次开机后的全部事件,适用于复现刚发生的异常或验证重启后行为。
1、在终端中执行:sudo journalctl -b。
2、如需查看上一次启动日志,追加参数:sudo journalctl -b -1。
3、查看倒数第三次启动:sudo journalctl -b -3。
三、按时间范围精确筛选日志
通过自然语言或标准时间格式指定起止点,避免手动翻查海量日志,提升定位效率。
1、查看过去两小时内的所有日志:sudo journalctl --since "2 hours ago"。
2、查看从2026年4月3日09:00至4月4日12:00的日志:sudo journalctl --since "2026-04-03 09:00:00" --until "2026-04-04 12:00:00"。
3、查看昨日全天日志:sudo journalctl --since yesterday --until today。
四、按服务单元过滤专属日志
隔离无关条目,只提取目标服务(如 sshd、NetworkManager、kylin-kms-activation)的完整生命周期日志,便于诊断启停失败、连接中断等问题。
1、查看 NetworkManager 服务全部日志:sudo journalctl -u NetworkManager.service。
2、同时查看多个服务(如 SSH 和 Apache):sudo journalctl -u sshd.service -u apache2.service。
3、仅显示该服务最近50行日志:sudo journalctl -u kylin-kms-activation.service -n 50。
五、实时跟踪新增日志流
持续监听日志写入,适用于复现操作过程、观察服务动态响应或监控部署脚本执行效果。
1、启用实时尾部模式:sudo journalctl -f。
2、仅对某服务实时输出:sudo journalctl -u docker.service -f。
3、结合错误级别过滤实时流:sudo journalctl -p err -f(仅显示 error 及以上级别新日志)。
六、按日志优先级筛选关键条目
聚焦严重问题,跳过 info 或 debug 级别噪音,快速识别崩溃、拒绝访问、资源耗尽等高风险事件。
1、仅显示 error 级别日志:sudo journalctl -p err。
2、显示 warning 到 emerg 全范围(含 warning、err、crit、alert、emerg):sudo journalctl -p warning。
3、查看内核级紧急日志(如硬件故障、OOM killer 触发):sudo journalctl -k -p emerg。
七、导出结构化日志用于离线分析
将筛选结果保存为文本或 JSON 格式,便于归档、跨平台审查或导入日志分析工具。
1、导出全部日志(无分页)到临时文件:sudo journalctl --all --no-pager > /tmp/all_logs.txt。
2、导出近24小时错误日志(纯文本):sudo journalctl --since "24 hours ago" -p err --no-pager > /tmp/recent_errors.log。
3、导出 JSON 格式日志(保留完整元数据):sudo journalctl -o json --all > /tmp/logs.json。










