log stream 是 macos 终端中唯一原生支持毫秒级响应的实时日志监控命令,直接从内核缓冲区拉取事件;需 sudo 获取系统级日志,支持按进程、子系统、消息内容过滤,并可通过 --level、--style、--color 及管道截取优化输出。

要在 macOS 终端中实时监控系统日志输出,必须绕过静态日志文件轮询,直接接入 Unified Logging 的实时流式通道——log stream 是唯一原生支持毫秒级响应的命令,它不读取磁盘缓存,而是从内核日志缓冲区持续拉取新事件。
启动基础实时监控
打开“终端”(可在“访达”→“应用程序”→“实用工具”中找到)。
执行 log stream,日志将立即以滚动方式输出,每条记录含时间戳、子系统、进程名和消息体。
该命令默认只显示当前用户权限可读的日志;若需内核级或系统守护进程日志,【必须加 sudo】,否则会漏掉 kernel panic、电源管理、驱动加载等关键事件。
按进程或子系统精准过滤
方法一:按进程名过滤
运行 log stream --predicate 'process == "kernel"' ,仅显示 kernel 进程日志。
方法二:按子系统标识过滤
例如内容缓存服务日志用 log stream --predicate 'subsystem == "com.apple.AssetCache"';Wi-Fi 相关日志用 log stream --predicate 'subsystem == "com.apple.wifi"' 。
方法三:按消息内容动态匹配
log stream --predicate 'eventMessage contains[c] "panic"' 忽略大小写搜索 panic;log stream --predicate 'eventMessage beginswith "Failed to load" 匹配以指定字符串开头的日志行。
排除干扰并稳定输出
第一步:停用调试与信息级日志
添加 --level info 可只保留 warning 及以上级别(error、fault、critical),避免被海量 debug 日志淹没。
第二步:限制输出字段提升可读性
用 --style compact 压缩时间戳与进程格式;加 --color always 启用颜色高亮(错误红、警告黄、信息灰)。
第三步:防止终端刷屏失焦
在命令末尾追加 | head -n 100 可截取最新 100 行;若需持续观察但控制节奏,改用 log stream --predicate '...' | tail -n 20 每次只看最后 20 条。











