mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 20:47:35 +08:00
197 lines
6.0 KiB
Markdown
197 lines
6.0 KiB
Markdown
# 日志显示改进总结
|
||
|
||
## 🎯 改进目标
|
||
|
||
在多用户系统中,原有的日志无法区分不同用户的操作,导致调试和监控困难。本次改进为所有重要日志添加了Cookie ID标识。
|
||
|
||
## 📊 改进对比
|
||
|
||
### 改进前的日志格式
|
||
```
|
||
2025-07-25 14:23:47.770 | INFO | XianyuAutoAsync:init:1360 - 获取初始token...
|
||
2025-07-25 14:23:47.771 | INFO | XianyuAutoAsync:refresh_token:134 - 开始刷新token...
|
||
2025-07-25 14:23:48.269 | INFO | XianyuAutoAsync:refresh_token:200 - Token刷新成功
|
||
2025-07-25 14:23:49.286 | INFO | XianyuAutoAsync:init:1407 - 连接注册完成
|
||
2025-07-25 14:23:49.288 | INFO | XianyuAutoAsync:handle_message:1663 - [2025-07-25 14:23:49] 【系统】小闲鱼智能提示:
|
||
```
|
||
|
||
### 改进后的日志格式
|
||
```
|
||
2025-07-25 14:23:47.770 | INFO | XianyuAutoAsync:init:1360 - 【user1_cookie】获取初始token...
|
||
2025-07-25 14:23:47.771 | INFO | XianyuAutoAsync:refresh_token:134 - 【user1_cookie】开始刷新token...
|
||
2025-07-25 14:23:48.269 | INFO | XianyuAutoAsync:refresh_token:200 - 【user1_cookie】Token刷新成功
|
||
2025-07-25 14:23:49.286 | INFO | XianyuAutoAsync:init:1407 - 【user1_cookie】连接注册完成
|
||
2025-07-25 14:23:49.288 | INFO | XianyuAutoAsync:handle_message:1663 - [2025-07-25 14:23:49] 【user1_cookie】【系统】小闲鱼智能提示:
|
||
```
|
||
|
||
## 🔧 修改的日志类型
|
||
|
||
### 1. Token管理相关
|
||
- ✅ `【{cookie_id}】开始刷新token...`
|
||
- ✅ `【{cookie_id}】Token刷新成功`
|
||
- ✅ `【{cookie_id}】Token刷新失败: {error}`
|
||
- ✅ `【{cookie_id}】获取初始token...`
|
||
- ✅ `【{cookie_id}】Token刷新成功,准备重新建立连接...`
|
||
|
||
### 2. 连接管理相关
|
||
- ✅ `【{cookie_id}】连接注册完成`
|
||
- ✅ `【{cookie_id}】message: {message}`
|
||
- ✅ `【{cookie_id}】send message`
|
||
|
||
### 3. 系统消息相关
|
||
- ✅ `[{time}] 【{cookie_id}】【系统】小闲鱼智能提示:`
|
||
- ✅ `[{time}] 【{cookie_id}】【系统】其他类型消息: {content}`
|
||
- ✅ `[{time}] 【{cookie_id}】系统消息不处理`
|
||
- ✅ `[{time}] 【{cookie_id}】【系统】买家已付款,准备自动发货`
|
||
- ✅ `[{time}] 【{cookie_id}】【系统】自动回复已禁用`
|
||
- ✅ `[{time}] 【{cookie_id}】【系统】未找到匹配的回复规则,不回复`
|
||
|
||
### 4. 商品和发货相关
|
||
- ✅ `【{cookie_id}】从消息内容中提取商品ID: {item_id}`
|
||
- ✅ `【{cookie_id}】准备自动发货: item_id={item_id}, item_title={title}`
|
||
|
||
### 5. 回复生成相关
|
||
- ✅ `【{cookie_id}】使用默认回复: {reply}`
|
||
- ✅ `【{cookie_id}】AI回复生成成功: {reply}`
|
||
|
||
## 📁 修改的文件
|
||
|
||
### XianyuAutoAsync.py
|
||
- **修改行数**: 约20处日志输出
|
||
- **影响范围**: 所有核心功能的日志
|
||
- **修改方式**: 在日志消息前添加 `【{self.cookie_id}】` 标识
|
||
|
||
## 🎯 改进效果
|
||
|
||
### 1. 问题定位能力
|
||
- **改进前**: 无法区分不同用户的操作,调试困难
|
||
- **改进后**: 一眼就能看出是哪个用户的操作
|
||
|
||
### 2. 监控分析能力
|
||
- **改进前**: 无法按用户统计操作情况
|
||
- **改进后**: 可以轻松按用户过滤和统计
|
||
|
||
### 3. 运维管理能力
|
||
- **改进前**: 多用户问题排查复杂
|
||
- **改进后**: 快速定位特定用户的问题
|
||
|
||
## 💡 日志分析技巧
|
||
|
||
### 1. 按用户过滤日志
|
||
```bash
|
||
# 查看特定用户的所有操作
|
||
grep '【user1_cookie】' logs/xianyu_2025-07-25.log
|
||
|
||
# 查看特定用户的错误日志
|
||
grep 'ERROR.*【user1_cookie】' logs/xianyu_2025-07-25.log
|
||
```
|
||
|
||
### 2. 监控Token状态
|
||
```bash
|
||
# 查看所有用户的Token刷新情况
|
||
grep '【.*】.*Token' logs/xianyu_2025-07-25.log
|
||
|
||
# 查看Token刷新失败的情况
|
||
grep '【.*】.*Token刷新失败' logs/xianyu_2025-07-25.log
|
||
```
|
||
|
||
### 3. 统计用户活跃度
|
||
```bash
|
||
# 统计各用户的操作次数
|
||
grep -o '【[^】]*】' logs/xianyu_2025-07-25.log | sort | uniq -c
|
||
|
||
# 查看最活跃的用户
|
||
grep -o '【[^】]*】' logs/xianyu_2025-07-25.log | sort | uniq -c | sort -nr
|
||
```
|
||
|
||
### 4. 监控系统消息
|
||
```bash
|
||
# 查看所有系统级别的消息
|
||
grep '【系统】' logs/xianyu_2025-07-25.log
|
||
|
||
# 查看自动发货相关的消息
|
||
grep '准备自动发货' logs/xianyu_2025-07-25.log
|
||
```
|
||
|
||
### 5. 分析回复情况
|
||
```bash
|
||
# 查看AI回复的使用情况
|
||
grep 'AI回复生成成功' logs/xianyu_2025-07-25.log
|
||
|
||
# 查看默认回复的使用情况
|
||
grep '使用默认回复' logs/xianyu_2025-07-25.log
|
||
```
|
||
|
||
## 🔍 实时监控命令
|
||
|
||
### 1. 实时查看特定用户的日志
|
||
```bash
|
||
tail -f logs/xianyu_2025-07-25.log | grep '【user1_cookie】'
|
||
```
|
||
|
||
### 2. 实时监控所有错误
|
||
```bash
|
||
tail -f logs/xianyu_2025-07-25.log | grep 'ERROR.*【.*】'
|
||
```
|
||
|
||
### 3. 实时监控Token刷新
|
||
```bash
|
||
tail -f logs/xianyu_2025-07-25.log | grep '【.*】.*Token'
|
||
```
|
||
|
||
## 📈 监控仪表板建议
|
||
|
||
基于新的日志格式,可以构建以下监控指标:
|
||
|
||
### 1. 用户活跃度指标
|
||
- 每个用户的操作频率
|
||
- 用户在线时长统计
|
||
- 用户操作成功率
|
||
|
||
### 2. 系统健康指标
|
||
- Token刷新成功率(按用户)
|
||
- 连接稳定性(按用户)
|
||
- 错误发生频率(按用户)
|
||
|
||
### 3. 业务指标
|
||
- 自动回复使用率(按用户)
|
||
- AI回复成功率(按用户)
|
||
- 自动发货成功率(按用户)
|
||
|
||
## 🚀 部署建议
|
||
|
||
### 1. 重启服务
|
||
```bash
|
||
# 停止当前服务
|
||
docker-compose down
|
||
|
||
# 重新启动服务
|
||
docker-compose up -d
|
||
|
||
# 查看新的日志格式
|
||
docker-compose logs -f
|
||
```
|
||
|
||
### 2. 日志轮转配置
|
||
确保日志轮转配置能够处理增加的日志内容:
|
||
```yaml
|
||
# loguru配置示例
|
||
rotation: "100 MB"
|
||
retention: "7 days"
|
||
compression: "zip"
|
||
```
|
||
|
||
### 3. 监控工具配置
|
||
如果使用ELK、Grafana等监控工具,需要更新日志解析规则以识别新的Cookie ID字段。
|
||
|
||
## 🎉 总结
|
||
|
||
通过本次改进,多用户系统的日志现在具备了:
|
||
|
||
- ✅ **清晰的用户标识**: 每条日志都能明确标识操作用户
|
||
- ✅ **高效的问题定位**: 快速定位特定用户的问题
|
||
- ✅ **精准的监控分析**: 支持按用户维度的监控和分析
|
||
- ✅ **便捷的运维管理**: 简化多用户环境的运维工作
|
||
|
||
这为多用户系统的稳定运行和高效管理奠定了坚实的基础!
|