查蓝牙日志关键在于精准定位:聚焦 blued 进程查连接行为,用 intelfirmware 或 com.apple.bluetooth 查固件异常,按 pair/bond 过滤配对失败,结合时间范围与错误级别筛选,并通过 log stream 实时捕获瞬态问题。
直接用 log show 查蓝牙日志,关键不是“有没有日志”,而是“查哪一段、过滤什么、怎么看懂”。macos 的蓝牙行为(配对、连接、断开、重连、失败)都会写入统一日志系统,但默认不显眼,需精准定位。
锁定蓝牙相关进程与子系统
蓝牙核心服务是 blued(守护进程),固件层日志可能来自 IntelFirmware(Intel 芯片 Mac)或 AppleBluetooth(Apple Silicon)。先确认目标:
- 查基础连接行为:聚焦
process == "blued" - 查硬件/固件级异常(如握手失败、HCI 错误):加
message contains "IntelFirmware"或subsystem == "com.apple.bluetooth" - 查配对失败原因:过滤
eventMessage contains "pair" OR eventMessage contains "bond"
常用日志查询命令组合
打开终端,逐条运行更易排查:
- 查看过去 10 分钟内所有 blued 进程日志:
log show --predicate 'process == "blued"' --last 10m - 只看错误和故障(红色/黄色级别):
log show --predicate 'process == "blued" AND (level == "error" OR level == "fault")' --last 30m - 追踪某设备连接全过程(替换 MAC 地址):
log show --predicate 'process == "blued" AND eventMessage contains "aa:bb:cc:dd:ee:ff"' --last 1h - 查是否被电源策略中断(常见于休眠后断连):
log show --predicate 'subsystem == "com.apple.powermanagement" AND eventMessage contains "bluetooth"' --last 2h
识别关键日志线索
不必通读全部输出,盯住这几类典型信息:
-
成功连接:出现
Connected to device、HID device connected、ACL connection established -
主动断开:含
disconnect reason,如reason=0x13(远程用户终止)、reason=0x08(超时) -
配对失败:含
Pairing failed、Bonding rejected、IOBluetoothHostControllerUSBTransport(USB 传输层报错) -
服务卡死迹象:长时间无新日志、重复出现
blued is not responding或timeout waiting for response
配合 stream 实时观察
如果问题偶发,用 log stream 比静态回溯更有效:
- 实时监听 blued 错误:
log stream --predicate 'process == "blued" AND level >= "error"' - 边操作边看(例如开关蓝牙、重连耳机):
log stream --predicate 'subsystem == "com.apple.bluetooth"' - 终端里按
Ctrl+C停止,日志会自动高亮最新几条,便于抓取瞬态异常











