Files
xyzw_web_helper/MD说明文件夹/阶段1-logger系统测试指南.md
2025-10-17 20:56:50 +08:00

3.9 KiB
Raw Permalink Blame History

阶段1: Logger系统测试指南

已完成的工作

  1. 添加了 src/utils/logger.js - 专业日志系统
  2. 修改了 src/stores/tokenStore.js - 集成logger系统
  3. 批量替换了139处日志调用

🧪 测试步骤

1. 启动开发服务器

npm run dev

2. 打开浏览器控制台

打开Chrome DevToolsF12切换到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连接日志

  1. 选择一个Token并连接
  2. 观察控制台输出

应该看到格式化的日志

[HH:MM:SS] [TOKEN] [INFO] Token更新成功
[HH:MM:SS] [WS] [INFO] 🔗 WebSocket连接: token_xxx
[HH:MM:SS] [TOKEN] [DEBUG] 开始更新token...

5. 测试日志持久化

  1. 刷新页面
  2. 查看日志级别是否保持

预期结果:

  • 设置的日志级别应该保存在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:

  1. 确认执行了wsDebug.quiet()
  2. 刷新页面
  3. 检查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()

准备好后,进入下一阶段! 🚀