3.9 KiB
3.9 KiB
阶段1: Logger系统测试指南
✅ 已完成的工作
- ✅ 添加了
src/utils/logger.js- 专业日志系统 - ✅ 修改了
src/stores/tokenStore.js- 集成logger系统 - ✅ 批量替换了139处日志调用
🧪 测试步骤
1. 启动开发服务器
npm run dev
2. 打开浏览器控制台
打开Chrome DevTools(F12),切换到Console标签
3. 测试日志级别控制
在控制台输入以下命令测试:
测试1: 静默模式(只显示警告和错误)
wsDebug.quiet()
预期结果: 控制台消息会少很多,只显示WARNING和ERROR级别
测试2: 正常模式(显示信息级别)
wsDebug.normal()
预期结果: 显示INFO、WARN、ERROR级别的日志
测试3: 调试模式(显示所有调试信息)
wsDebug.debug()
预期结果: 显示DEBUG、INFO、WARN、ERROR级别的日志
测试4: 详细模式(显示所有日志)
wsDebug.verbose()
预期结果: 显示所有级别的日志,包括VERBOSE
4. 测试WebSocket连接日志
- 选择一个Token并连接
- 观察控制台输出
应该看到格式化的日志:
[HH:MM:SS] [TOKEN] [INFO] Token更新成功
[HH:MM:SS] [WS] [INFO] 🔗 WebSocket连接: token_xxx
[HH:MM:SS] [TOKEN] [DEBUG] 开始更新token...
5. 测试日志持久化
- 刷新页面
- 查看日志级别是否保持
预期结果:
- 设置的日志级别应该保存在localStorage中
- 刷新后仍然生效
🎯 验收标准
- 浏览器控制台可以访问
wsDebug对象 wsDebug.quiet()减少日志输出wsDebug.normal()恢复正常日志wsDebug.debug()显示调试日志wsDebug.verbose()显示所有日志- 日志格式包含时间戳、命名空间、级别
- 刷新页面后日志级别保持
- 生产环境默认只显示WARN和ERROR
- WebSocket连接正常工作
- Token选择和切换正常
- 批量任务功能不受影响(通过shouldLog配置仍然可用)
📊 对比效果
修改前:
❌ 解析 gameTokens 失败,使用空数组
[TokenStore] 开始更新token,角色ID: token_xxx
[TokenStore] 更新前的token数据: {...}
...(大量日志)
修改后:
[10:30:15] [TOKEN] [ERROR] ❌ 解析 gameTokens 失败,使用空数组
[10:30:16] [TOKEN] [INFO] Token更新成功
[10:30:16] [WS] [INFO] 🔗 WebSocket连接: token_xxx
优势:
- ✅ 格式统一,易于阅读
- ✅ 包含时间戳,方便追踪
- ✅ 可以动态调整日志级别
- ✅ 生产环境自动减少日志
- ✅ 不影响现有功能
🐛 常见问题
Q1: 控制台找不到wsDebug对象
A: 检查logger.js是否正确导入到tokenStore.js
Q2: 日志没有减少
A:
- 确认执行了
wsDebug.quiet() - 刷新页面
- 检查localStorage中的
ws_debug_level
Q3: 批量任务日志配置失效
A: 不会失效,shouldLog机制仍然保留,用于批量任务日志配置
Q4: 日志格式显示异常
A: 检查浏览器Console设置,确保启用了时间戳显示
🎉 测试通过后
完成测试后,更新TODO状态:
- 阶段1-1: 添加logger.js ✅
- 阶段1-2: 修改tokenStore.js ✅
- 阶段1-3: 测试logger系统 ✅
下一步: 进入阶段2 - 实现月度任务系统
💡 调试技巧
临时启用详细日志
// 在控制台执行
wsDebug.verbose()
// 执行你要调试的操作
// 完成后恢复
wsDebug.normal()
查看当前日志级别
localStorage.getItem('ws_debug_level')
// 返回: "2" (INFO), "3" (DEBUG), etc.
清除日志设置
localStorage.removeItem('ws_debug_level')
localStorage.removeItem('ws_debug_verbose')
location.reload()
准备好后,进入下一阶段! 🚀