journalctl是统信UOS中排查服务异常、启动故障及安全事件的核心工具,支持按服务、启动会话、时间、优先级过滤及JSON导出。

如果您需要在统信UOS系统中深入排查服务异常、启动故障或安全事件,仅依赖图形化工具可能无法获取完整上下文。journalctl作为systemd原生日志管理器,可精确过滤时间、服务、优先级及启动会话,是定位深层问题的核心手段。以下是使用journalctl查看系统日志的进阶操作步骤:
一、查看指定服务的详细日志
通过服务单元名称精准筛选其全部运行记录,避免被其他服务日志干扰,适用于诊断某项服务(如lightdm、nginx、dbus)是否启动失败或出现周期性错误。
1、执行命令查看目标服务的完整日志:sudo journalctl -u lightdm.service
2、添加实时跟踪参数持续监控该服务新产生的日志:sudo journalctl -u lightdm.service -f
3、仅显示该服务最近50条日志以快速聚焦最新状态:sudo journalctl -u lightdm.service -n 50
二、按启动会话隔离日志范围
每次系统启动都会生成独立的journal日志会话,通过-b参数可排除历史启动残留干扰,确保分析的是当前或特定启动周期内的行为。
1、查看本次开机以来的所有日志:sudo journalctl -b
2、查看上一次开机的日志(适用于对比重启前后差异):sudo journalctl -b -1
3、列出所有可用启动会话编号及对应时间戳:sudo journalctl --list-boots
三、按时间范围精确检索日志
当已知故障发生的大致时间点时,限定时间窗口能大幅缩小日志量,提升排查效率,尤其适合回溯偶发性错误。
1、查看今天凌晨0点之后的所有日志:sudo journalctl --since today
2、查看2026年3月24日14:30至15:45之间的日志:sudo journalctl --since "2026-03-24 14:30:00" --until "2026-03-24 15:45:00"
3、查看过去两小时内产生的所有日志:sudo journalctl --since "2 hours ago"
四、按日志优先级筛选关键信息
日志按严重程度分为debug、info、notice、warning、err、crit、alert、emerg八个级别,高优先级日志通常直接指向故障根源,可跳过大量常规提示。
1、只显示错误(err)及以上级别的日志:sudo journalctl -p err
2、显示警告(warning)及更严重级别的全部日志:sudo journalctl -p warning
3、结合服务名与错误级别双重过滤:sudo journalctl -u ssh.service -p err
五、导出结构化日志用于离线分析
当需将日志提交给技术支持或导入分析工具时,JSON格式保留完整字段(如时间戳、进程ID、单元名),避免纯文本解析失真。
1、导出本次启动全部日志为JSON格式并保存至文件:sudo journalctl -b -o json > /tmp/boot_log.json
2、导出指定服务近100条日志为JSON每行一条:sudo journalctl -u rsyslog.service -n 100 -o json-seq > /tmp/rsyslog_recent.json
3、禁用分页直接输出到终端便于重定向:sudo journalctl -b --no-pager | head -n 200

















