文章 · LogStudio
像高手一样读 macOS 日志——Console.app 之外的方法
macOS 上出了问题,答案通常都在日志里——埋在 Console.app 里每秒刷过的几千行中。这篇教你怎么真正把它找出来。
统一日志系统
从 macOS Sierra 起,系统和应用日志都走统一日志(unified logging)。几个关键概念:
- Subsystem —— 反向域名标识,如
com.apple.network - Category —— 子系统下的分类频道
- Level —— fault、error、default、info、debug
好用的 log 命令
# 实时流式查看某个进程的错误
log stream --predicate 'process == "MyApp"' --level error
# 查看最近一小时的 fault
log show --last 1h --predicate 'messageType == fault'
Predicate 很强大但啰嗦——而且输出仍然是一堵文字墙。
当日志在文件里
崩溃报告在 ~/Library/Logs/DiagnosticReports;很多应用还会往 ~/Library/Logs 写 .log 文件。痛点永远一样:文件巨大、格式混杂、无法跨来源按严重级别过滤。
专门的查看器
LogStudio 把日志文件解析成结构化、可过滤的表格——严重级别着色、即时搜索、时间轴跳转——500 MB 的日志不再是文字墙,而是可以随手盘问的数据。