讲师中心 微信公众号
AI工具推荐 视频效率加速

MAC怎么查看系统日志_MAC Console日志分析【诊断】

轻丽君_2564

轻丽君_2564

发布时间:2026-02-19 14:39:10

|

715人浏览过

|

来源于php中文网

原创

macOS日志诊断需结合控制台实时查看、log命令精准检索、.crash文件分析、.logarchive归档回溯及颜色分级识别:一、控制台支持实时流式日志与关键词过滤;二、log命令可按等级、子系统、时间等多维查询;三、.crash文件存于~/Library/Logs/DiagnosticReports,含崩溃线程堆栈;四、/var/log/DiagnosticReports中的.gz压缩包解压后生成.logarchive供控制台加载;五、红色圆点为故障级(需立即处理),黄色为错误级,深灰为调试级,浅灰为信息级。

mac怎么查看系统日志_mac console日志分析【诊断】

如果您在 macOS 系统中遇到异常行为、程序崩溃或硬件响应迟滞等问题,系统通常会生成结构化日志记录运行状态与错误事件。以下是诊断此类问题所需的日志查看与分析方法:

一、使用控制台应用查看实时系统日志

控制台(Console)是 macOS 内置的图形化日志聚合工具,可集中显示来自内核、系统服务、用户进程及已连接设备的日志流,并支持实时刷新、颜色分级与关键词高亮过滤,适用于快速定位当前活跃问题。

1、点击屏幕左上角访达 → 前往 → 实用工具,双击打开“控制台”应用。

2、在左侧边栏中确认“设备”列表可见;若不可见,点按“个人收藏”区域的“边栏”按钮以展开。

3、在“设备”下选择当前 Mac 名称,或直接点击顶部标签页中的“所有消息”或“系统日志报告”。

4、点按工具栏中的“开始流式传输”按钮,使日志实时滚动显示。

5、在右上角搜索框中输入关键词,例如 error、failed、crash 或具体进程名(如 WindowServer、kernel),按回车执行筛选。

6、勾选窗口底部的“显示调试信息”与“包含子进程”,以获取完整上下文和嵌套调用链。

二、通过终端命令行查询结构化系统日志

macOS 自 macOS 10.12 起采用 unified logging 子系统,log 命令替代旧版 syslog,支持基于谓词(predicate)的时间范围、等级、子系统、类别等多维精准检索,适合离线回溯与批量导出。

1、打开终端(路径同控制台:访达 → 前往 → 实用工具 → 终端)。

2、执行以下命令查看最近 5 分钟内所有错误及以上等级(level ≥ 3)的日志条目:
log show --predicate 'level >= 3' --last 5m

3、若需提取特定子系统(如网络相关)的所有错误记录,运行:
log show --predicate 'subsystem == "com.apple.WebKit" && category == "Networking" && level >= 3' --info --debug

4、将过去 1 小时内所有错误日志导出为桌面文本文件以便归档分析:
log show --last 1h --level error > ~/Desktop/system_errors.log

5、查看某进程(如 Spotlight)最近 10 条日志:
log show --predicate 'process == "mds"' --last 10m --limit 10

三、定位并分析应用程序崩溃报告

当 macOS 应用意外退出时,系统自动保存包含异常类型、线程堆栈、寄存器快照及内存映射的 .crash 文件,这些报告存放于用户专属目录,是定位崩溃根源的关键依据。

1、在终端中运行:
open ~/Library/Logs/DiagnosticReports

2、在打开的访达窗口中,查找文件名含 Crash 或 Exception 的文件,其扩展名为 .crash;最新生成的文件默认按时间倒序排列于顶部。

3、双击任一 .crash 文件,系统以文本编辑方式打开;重点关注以下字段:
— Process: 后跟随的进程名称与版本
— Exception Type: 如 EXC_CRASH (SIGABRT)、EXC_BAD_ACCESS (KERN_INVALID_ADDRESS)
— Thread 0 Crashed: 下方连续的 Frames 行,标识崩溃发生的具体函数调用路径

4、若需批量检查多个报告,可在终端中执行:
ls -t ~/Library/Logs/DiagnosticReports/*.crash | head -n 5

四、浏览历史日志归档与系统诊断报告

macOS 在生成系统诊断报告(如重启后自动生成的 .gz 归档)时,会打包压缩对应时间段内的完整日志流,该归档为 .logarchive 格式,可通过控制台直接加载,用于复现和交叉验证跨时段问题。

1、前往访达,进入路径:
/var/log/DiagnosticReports/

2、查找扩展名为 .gz 的压缩包,双击解压;解压后目录中会出现扩展名为 .logarchive 的文件。

3、双击该 .logarchive 文件,系统自动以新窗口启动控制台并加载归档日志。

4、点按窗口左下角“显示”弹出菜单,选取预设时间范围(如“最后 24 小时”),或选择“自定义”设定精确起止时间戳。

5、在归档视图中,仍可使用 Command-F 快速搜索关键词,或点按列标题(如“时间”、“进程”、“类型”)对日志列表重新排序。

五、识别日志类型与关键视觉提示

控制台对不同严重程度的日志进行颜色编码与图标标识,便于快速区分事件性质;理解这些标记有助于优先处理高危条目,避免被大量低优先级信息干扰。

1、红色圆点表示 故障(Fault) 级别日志,通常关联严重系统中断或硬件异常,需立即关注。

2、黄色圆点表示 错误(Error) 级别日志,反映功能失败但未导致整体崩溃,如服务启动失败、权限拒绝、资源不可用。

3、深灰色圆点表示 调试(Debug) 级别日志,仅在启用详细日志模式后出现,含内部状态变量与路径追踪,供深度排查使用。

4、浅灰色圆点表示 简介(Info) 级别日志,属常规运行通告,如服务启动完成、配置加载成功,通常无需干预。

5、若“类型”列中无任何圆点,则该日志为默认级别,内容可能为通用状态描述或未分类消息。

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

909

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2520

2023.10.25

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

4967

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2228

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

4967

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2228

2023.08.10

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

3698

2023.08.10

Java 并发编程高级实践
Java 并发编程高级实践

本专题深入讲解 Java 在高并发开发中的核心技术,涵盖线程模型、Thread 与 Runnable、Lock 与 synchronized、原子类、并发容器、线程池(Executor 框架)、阻塞队列、并发工具类(CountDownLatch、Semaphore)、以及高并发系统设计中的关键策略。通过实战案例帮助学习者全面掌握构建高性能并发应用的工程能力。

523

2025.12.01

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

20

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 181人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.2万人学习

好课诞生记
好课诞生记

共20课时 | 7.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn