要查 macos 中打印机或外部设备的连接与识别日志,应聚焦 unified logging 中 device enumeration、iokit matching、driver attach 和 printer queue setup 等关键事件,通过“控制台”筛选 s:com.apple.print、p:cupsd、kernel: usb device 或 s:com.apple.iokit 等子系统,并结合厂商 id 或 product id 搜索定位完整连接链路。
要查 macos 里打印机或外部设备(如 usb 打印机、蓝牙打印机、外接扫描仪、usb 硬盘等)的连接与识别日志,不能只看“已连接设备列表”,而应聚焦系统实际加载、枚举、驱动匹配和通信失败的全过程——这些行为会实时写入 unified logging 数据库,并在“控制台”中按子系统归类。关键不是找“连接成功”提示,而是抓 device enumeration、iokit matching、driver attach 和 printer queue setup 这几类事件。
在控制台中筛选打印机相关日志
打开“控制台” → 左侧选中本机 → 点击顶部“开始”加载历史 → 在右上角搜索框输入以下任一表达式:
- s:com.apple.print:匹配所有打印子系统活动(包括 CUPS 启动、队列创建、PPD 加载)
- p:cupsd:只看打印守护进程 cupsd 的日志(含 USB/网络打印机自动发现、端口监听、作业提交)
- eventMessage contains "usb" and eventMessage contains "printer":用自然语言组合过滤 USB 打印机枚举过程
- s:com.apple.iokit 并配合右键“仅显示此子系统”→ 再手动滚动查找含 “USB Printer”、“usblp”、“lp” 或 “io.usb.device” 的条目
查看外设物理连接与驱动加载痕迹
打印机本质是 USB 或 Bluetooth 设备,其首次接入时会触发内核级 I/O 枚举。这类日志不显示在“USB”面板里,但会出现在控制台的 kernel 或 IOKit 子系统中:
- 搜索 kernel: USB device 或 kernel: IOUSBHost,可看到类似 “USB device 0x1234 (0x5678) attached to bus” 的原始挂载记录
- 若打印机未被识别,常见提示是 “IOUSBHostDevice: unable to match driver” 或 “no driver found for vendor/product ID”
- 蓝牙打印机则查 p:bluetoothd + 关键词 "pairing"、"service discovery" 或 "L2CAP"
定位具体设备的完整连接链路
当知道打印机型号或厂商 ID(比如 HP、Canon、Epson),可用终端辅助缩小范围:
- 先运行 system_profiler SPUSBDataType | grep -A 5 -B 2 "HP\|Canon\|Epson",确认设备是否被系统枚举出来
- 再回到控制台,用该设备的 Product ID(如 0x12a8)或 Location ID(如 0x14200000)作为关键词搜索,能直接定位到对应 USB 插拔瞬间的全部日志流
- 如果设备曾连过但当前断开,仍可在“日志报告”里找 diagnostic_messages 或 system.log.0.bz2,它们保留数天内的完整上下文
补充验证:CUPS 日志文件
macOS 打印服务基于 CUPS,其独立日志更详细,适合排查驱动兼容或 IPP 配置问题:
- 路径:/var/log/cups/(需管理员权限)
- 常用文件:access_log(谁提交了什么作业)、error_log(驱动加载失败、认证拒绝、IPP 协议错误)
- 终端查看:sudo tail -n 50 /var/log/cups/error_log,或用控制台右键某条 CUPS 日志 → “在访达中显示”跳转定位











