关于macOS系统中Console.app“主日志”存储位置的技术咨询
macOS系统中Console.app“主日志”存储位置的技术咨询
嘿,这个问题问得很实在!其实从macOS Sierra开始,系统就切换到了统一日志系统(Unified Logging System),Console里显示的“主日志”不再是传统的单个文本日志文件,而是存储在二进制数据库里的日志条目集合——这就是为什么你找不到“Show in Finder”选项的核心原因。
具体来说,这些日志的数据库文件存在/private/var/db/diagnostics/目录下,但这些文件都是二进制格式,没法直接用文本编辑器打开查看。如果你想获取主日志的内容,有两种实用方式:
- 用Console.app本身操作:你可以在主日志界面里筛选、搜索目标日志,还能通过菜单栏的
File > Export把选中的日志导出成可读的文本文件。 - 用终端命令
log:这是官方提供的统一日志操作工具,举几个常用示例:- 查看最近1小时的所有系统日志:
log show --last 1h - 过滤特定进程(比如Safari)的日志:
log show --predicate 'process == "Safari"' - 导出最近30分钟的日志到桌面文本文件:
log show --last 30m --style syslog > ~/Desktop/recent_system_logs.txt
- 查看最近1小时的所有系统日志:
顺带提一句,在macOS El Capitan及更早的版本里,系统日志确实是存在/var/log/system.log这类纯文本文件里的,但统一日志系统的设计更高效,能更好地管理海量日志数据,还支持更精细的过滤和分类。
备注:内容来源于stack exchange,提问作者tajmahal




