欢迎各位兄弟 发布技术文章
这里的技术是共享的
“统一日志系统”(Unified Logging System)是 Apple 从 macOS 10.12(Sierra)和 iOS 10 开始引入的一套全新的系统级日志架构,用来替代传统的文本日志文件(如 /var/log/system.log)。
因为它:
集中管理 所有系统组件、内核、守护进程、第三方应用的日志;
使用结构化格式(而非纯文本),便于过滤、搜索和分析;
日志存储在二进制数据库中(位于 /var/db/diagnostics/),不是普通文本文件;
提供了统一的命令行工具 log 来查询,而不是用 tail、grep 看 .log 文件。
log 命令编辑
打开 应用程序 > 实用工具 > 控制台(Console)
左侧选择你的 Mac(或设备)
可以实时看到统一日志系统的输出,并支持搜索、过滤
传统路径如 /var/log/system.log 在较新 macOS 中不再更新(或内容极少)
syslog() 函数仍可用,但 Apple 推荐改用 os_log() API(属于统一日志系统)
Jamf Pro 从较新版本开始,将日志输出集成到统一日志系统中
你无法再简单地 cat /var/log/jamf.log(该文件可能不存在或为空)
必须使用 log show 或 Console.app 来排查 Self Service、策略执行、MDM 命令等问题
例如:
编辑
统一日志默认循环覆盖,不会无限增长(节省磁盘空间)
普通用户只能看到自己进程的日志;要查看系统级日志需管理员权限(sudo)
第三方 App 如果使用 os_log,也会自动进入这个系统
如果你是在排查 Jamf、Self Service 或配置描述文件问题,必须学会使用 log 命令或 Console.app,因为这是 Apple 官方推荐且唯一完整的日志来源。
需要我帮你写一个具体的日志查询命令来定位某类错误吗?