憨豆环游世界
124.62M · 2026-04-12
调试 Bug 时,你是不是也遇到过这些问题:
最近我用 Claude Code 的自定义命令功能,开发了一套调试日志自动化工作流,通过两个命令搞定「添加 → 清理」全流程。
触发命令:
log-debug-start [问题描述]
执行流程:
| 步骤 | 操作 |
|---|---|
| 1 | 分析问题描述,搜索相关代码 |
| 2 | 识别数据流、事件链、函数调用等关键路径 |
| 3 | 在关键位置插入 __debugLog 日志 |
| 4 | 在流程末尾集中输出 DEBUG_LOG |
| 5 | 将修改的文件记录到 .claude/debug-state.json |
| 6 | 等待用户复制日志输出 |
| 7 | 根据日志分析,提出修复方案 |
日志格式示例:
const __debugLog = {};
__debugLog.init = 'ok';
__debugLog.dataLen = data?.length ?? 0;
__debugLog.userType = user?.type ?? 'unknown';
__debugLog.apiStatus = res?.status ?? 'error';
// ... 关键路径打点(5-8 条上限)
console.log('DEBUG_LOG', JSON.stringify(__debugLog));
触发命令:
log-debug-stop
执行流程:
| 步骤 | 操作 |
|---|---|
| 1 | 读取 .claude/debug-state.json 获取修改的文件列表 |
| 2 | 遍历文件,搜索所有 __debugLog 相关代码 |
| 3 | 删除声明、赋值、输出的代码行 |
| 4 | 删除状态文件 |
| 5 | 确认清理完成 |
极简 - 缩写 key + 短 value,单条日志控制在 2000 字符内
集中 - 最终只输出 DEBUG_LOG 一条,方便复制分析
克制 - 5-8 条上限,只在关键路径打点
可识别 - 所有调试代码包含 __debugLog 标记,方便搜索清理
| 维度 | 传统方式 | 新方式 |
|---|---|---|
| 日志数量 | 20+ 条分散 log | 1 条结构化日志 |
| 定位效率 | 手动拼凑链路 | 一眼看清状态流转 |
| 清理成本 | 逐行删除,易遗漏 | 一条命令自动清理 |
| 协作效率 | 截图/复制多行 | 单条日志直接分享 |
问题:一开始没有状态文件记录,清理时漏了几个文件
解决:添加 .claude/debug-state.json 记录修改的文件列表,确保清理时不会遗漏
1.提问
2.控制台找到日志
3.复制给cli
4.清楚日志
这套工作流的核心价值:
对于频繁调试的团队,建议把这两个命令固化到开发流程中。
github.com/yc-lm/docum…
你们团队是怎么管理调试日志的?有没有类似的自动化工具?欢迎留言交流~