174 lines
3.9 KiB
Markdown
174 lines
3.9 KiB
Markdown
# 阶段1: Logger系统测试指南
|
||
|
||
## ✅ 已完成的工作
|
||
|
||
1. ✅ 添加了 `src/utils/logger.js` - 专业日志系统
|
||
2. ✅ 修改了 `src/stores/tokenStore.js` - 集成logger系统
|
||
3. ✅ 批量替换了139处日志调用
|
||
|
||
---
|
||
|
||
## 🧪 测试步骤
|
||
|
||
### 1. 启动开发服务器
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
### 2. 打开浏览器控制台
|
||
|
||
打开Chrome DevTools(F12),切换到Console标签
|
||
|
||
### 3. 测试日志级别控制
|
||
|
||
在控制台输入以下命令测试:
|
||
|
||
#### 测试1: 静默模式(只显示警告和错误)
|
||
```javascript
|
||
wsDebug.quiet()
|
||
```
|
||
**预期结果**: 控制台消息会少很多,只显示WARNING和ERROR级别
|
||
|
||
#### 测试2: 正常模式(显示信息级别)
|
||
```javascript
|
||
wsDebug.normal()
|
||
```
|
||
**预期结果**: 显示INFO、WARN、ERROR级别的日志
|
||
|
||
#### 测试3: 调试模式(显示所有调试信息)
|
||
```javascript
|
||
wsDebug.debug()
|
||
```
|
||
**预期结果**: 显示DEBUG、INFO、WARN、ERROR级别的日志
|
||
|
||
#### 测试4: 详细模式(显示所有日志)
|
||
```javascript
|
||
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状态:
|
||
- [x] 阶段1-1: 添加logger.js ✅
|
||
- [x] 阶段1-2: 修改tokenStore.js ✅
|
||
- [x] 阶段1-3: 测试logger系统 ✅
|
||
|
||
**下一步**: 进入阶段2 - 实现月度任务系统
|
||
|
||
---
|
||
|
||
## 💡 调试技巧
|
||
|
||
### 临时启用详细日志
|
||
```javascript
|
||
// 在控制台执行
|
||
wsDebug.verbose()
|
||
// 执行你要调试的操作
|
||
// 完成后恢复
|
||
wsDebug.normal()
|
||
```
|
||
|
||
### 查看当前日志级别
|
||
```javascript
|
||
localStorage.getItem('ws_debug_level')
|
||
// 返回: "2" (INFO), "3" (DEBUG), etc.
|
||
```
|
||
|
||
### 清除日志设置
|
||
```javascript
|
||
localStorage.removeItem('ws_debug_level')
|
||
localStorage.removeItem('ws_debug_verbose')
|
||
location.reload()
|
||
```
|
||
|
||
---
|
||
|
||
**准备好后,进入下一阶段!** 🚀
|
||
|