Mac异常时应通过控制台App筛选level: error日志,用终端执行log show命令提取error/fault/panic三类日志,并从“报告”中查找panic/shutdown/reboot诊断文件,查看Previous shutdown cause代码定位故障原因。
当你在Mac上遇到系统卡顿、应用无响应或突然重启等异常现象,却没看到明确报错提示时,系统其实已在后台记录了大量错误日志——这些日志分散在统一日志数据库、诊断报告和原始日志文件中,必须用对方法才能一次性拉取全部有效错误条目。
用控制台App一键筛选全部错误级日志
这一步操作起来很简单,直接把“错误”这个日志级别作为过滤核心,就能避开调试信息和普通通知的干扰。
按下 Command + Space 打开聚焦搜索,输入“控制台”并回车启动应用。
在左侧“设备”列表中确认已选中本机名称;若边栏未显示,请点按窗口左上角的“边栏”按钮启用。
点击顶部搜索栏,输入 【level: error】 并按回车,所有标记为 error 级别的日志将立即高亮列出。
此时滚动查看,红色高亮条目即为系统级错误,黄色条目多为服务或应用级错误;注意不要误点“警告(warning)”或“调试(debug)”类条目,它们不属于错误范畴。
终端命令精准提取 error/fault/panic 三类关键日志
图形界面可能漏掉部分未实时同步的日志,终端可直连 Unified Logging 数据库,确保不遗漏任何一条结构化错误记录。
方法一:基础三合一检索
打开“终端”(应用程序 → 实用工具),执行:log show --predicate 'eventMessage contains "error" OR eventMessage contains "fault" OR eventMessage contains "panic"' --last 24h
方法二:限定内核与系统服务范围
避免第三方App日志干扰,只查系统核心模块:log show --predicate '(process == "kernel" OR subsystem contains "com.apple.kernel" OR subsystem contains "com.apple.xpc.launchd") AND (eventMessage contains "error" OR eventMessage contains "fault")' --last boot
通义灵码 Mac版
通义灵码 Mac版是阿里云推出的一款AI智能编码助手,深度集成于Xcode、VS Code及JetBrains等主流IDE中。它基于大模型技术,支持行级/函数级实时续写、自然语言生成代码、单元测试生成及智能问答等核心功能。macOS用户可通过插件市场直接安装,开箱即用,旨在辅助开发者高效完成编码任务,提升研发效率。
方法三:导出为桌面文件供离线分析
执行命令后,日志会直接保存到桌面,文件名为 errors_full.txt:log show --predicate 'level >= error' --last 7d > ~/Desktop/errors_full.txt
【注意:--last 7d 表示最近7天,不可写成 --last 7days,否则命令会失败】
从“报告”中提取已归档的 panic 和 shutdown 诊断文件
这类文件是系统在崩溃或强制关机后自动生成的结构化快照,包含堆栈、内存状态和最关键的 shutdown cause 代码,比纯文本日志更权威。
第一步:在“控制台”左侧边栏点击“报告”类别。
第二步:在右侧列表中查找文件名含以下任一关键词的条目:
① panic(扩展名通常为 .panic 或 .diag)
② shutdown(常见于 .shutdown 或 .reboot)
③ reboot(有时以时间戳+reboot命名)
第三步:双击任意一个目标报告,在右侧面板中滚动到底部,定位字段:
Previous shutdown cause
第四步:记下该字段值(如 3、5、128),它对应具体故障类型——例如 3 表示内核不可恢复错误,5 表示温度过高保护性关机。