Mac OS中KEXT日志文件位置及IOLog输出查找方法
macOS KEXT日志的查看路径与方法
不同版本macOS的KEXT日志存储、查看逻辑存在差异,你在system.log找不到IOLog输出是版本迭代后日志机制变更导致的,对应方案如下:
- macOS 10.12 及之后的版本(Sierra到最新版系统)
苹果从该版本开始启用统一日志系统,内核、KEXT输出的IOLog内容不会默认写入/var/log/system.log,你需要在终端执行以下命令实时查看内核日志:
执行命令后保持终端窗口运行,再加载你的KEXT,就能看到代码里sudo log stream --predicate 'process == "kernel"' --infoIOLog("scan\n");打印的内容。如果需要查询历史加载过的KEXT日志,可以将stream参数替换为show,搭配时间参数过滤对应时段的日志即可。 - macOS 10.11 及更早的老版本系统
该版本区间的KEXT日志会直接写入/var/log/system.log路径,你可以直接用grep命令过滤关键词查找对应内容:grep "scan" /var/log/system.log
注意:执行日志查看命令时必须加
sudo提权,否则会因为权限不足无法获取内核级别的日志输出。
内容的提问来源于stack exchange,提问作者Sudhanshu Pareek
相关产品推荐
相关产品推荐

