mac勿扰模式下可通过四步保留关键调试日志提醒:1. 在专注模式中允许“控制台”通知;2. 在console中创建含声音的自定义搜索;3. 用logger -p user.alert命令注入高优先级日志;4. 将console及构建进程(如xcodebuild)设为通知例外。

Mac在开启勿扰模式后,默认会屏蔽所有通知,包括来自Xcode、Console或自定义日志工具的调试消息;但开发者常需在夜间调试时保留关键系统日志提醒,必须绕过勿扰过滤机制直接接收特定控制台输出。
确认勿扰模式未完全禁用控制台日志流
打开“系统设置”→“专注模式”→选择当前启用的“勿扰”模式→点击右侧“选项”→检查“允许通知”列表中是否勾选了“控制台”。若未勾选,日志虽仍在后台记录,但实时弹窗和声音提醒将被强制抑制。
这一步不可跳过:即使你后续配置了日志筛选规则,【控制台本身未被允许通知,任何筛选后的消息都不会触发提醒】。
在控制台中创建带声音提醒的自定义日志搜索
打开“控制台”App,在左侧边栏点击“我的报告”→点击左下角“+”号→选择“新建搜索”。
在弹出窗口中:在“描述”栏填入“Dev Alert”;在“条件”区域点击“+”,设置第一行“进程”“包含”“xcodebuild”;再点“+”添加第二行“信息”“包含”“ERROR”或“FATAL”(根据你实际日志关键词调整);勾选右下角“播放声音”并选择系统提示音。
保存后,该搜索项会固定出现在“我的报告”中。只要勿扰模式允许“控制台”通知,匹配此规则的日志条目就会触发声音提醒——哪怕屏幕已锁、勿扰全开。
通过终端命令向控制台注入高优先级消息(绕过通知中心)
方法一:使用logger命令发送带优先级的系统日志
在终端中执行:logger -p user.alert "【DEV】Build failed on main branch"。user.alert级别默认被系统标记为“紧急”,会在控制台中以红色高亮显示,并在勿扰模式下仍保留在实时流顶部,无需弹窗即可被肉眼捕获。
方法二:直接写入ASL数据库(仅限macOS 12及更早)
执行:syslog -s -l alert "Critical debug signal received"。注意:此命令在Ventura及更新系统中已被弃用,若返回“command not found”,请改用logger命令。
方法三:用osascript伪造前台激活(仅用于测试环境)
执行:osascript -e 'display notification "⚠️ Dev Log Alert" with title "Console Watcher"'。该通知不受勿扰模式静音影响,但需提前在“系统设置→隐私与安全性→通知”中为“终端”授予通知权限。
绑定特定日志源到焦点模式例外
第一步:打开“系统设置”→“专注模式”→“勿扰”→“选项”→“允许通知”→点击“添加应用”→在弹出窗口中按Command+Shift+G,输入/Applications/Utilities/Console.app,回车后选中并添加。
第二步:回到同一页面,向下滚动至“允许的应用程序”下方,点击“添加规则”→选择“来自以下进程的通知”→输入xcodebuild、swiftc、node(根据你实际构建工具填写,多个用英文逗号分隔)→点击完成。
第三步:重启控制台App。此后,只要日志由上述进程生成,即使处于勿扰模式,其对应条目也会在控制台窗口内自动置顶并闪烁边框(需在控制台偏好设置中启用“高亮匹配项”)。











