mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 12:37:35 +08:00
6.0 KiB
6.0 KiB
日志显示改进总结
🎯 改进目标
在多用户系统中,原有的日志无法区分不同用户的操作,导致调试和监控困难。本次改进为所有重要日志添加了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. 按用户过滤日志
# 查看特定用户的所有操作
grep '【user1_cookie】' logs/xianyu_2025-07-25.log
# 查看特定用户的错误日志
grep 'ERROR.*【user1_cookie】' logs/xianyu_2025-07-25.log
2. 监控Token状态
# 查看所有用户的Token刷新情况
grep '【.*】.*Token' logs/xianyu_2025-07-25.log
# 查看Token刷新失败的情况
grep '【.*】.*Token刷新失败' logs/xianyu_2025-07-25.log
3. 统计用户活跃度
# 统计各用户的操作次数
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. 监控系统消息
# 查看所有系统级别的消息
grep '【系统】' logs/xianyu_2025-07-25.log
# 查看自动发货相关的消息
grep '准备自动发货' logs/xianyu_2025-07-25.log
5. 分析回复情况
# 查看AI回复的使用情况
grep 'AI回复生成成功' logs/xianyu_2025-07-25.log
# 查看默认回复的使用情况
grep '使用默认回复' logs/xianyu_2025-07-25.log
🔍 实时监控命令
1. 实时查看特定用户的日志
tail -f logs/xianyu_2025-07-25.log | grep '【user1_cookie】'
2. 实时监控所有错误
tail -f logs/xianyu_2025-07-25.log | grep 'ERROR.*【.*】'
3. 实时监控Token刷新
tail -f logs/xianyu_2025-07-25.log | grep '【.*】.*Token'
📈 监控仪表板建议
基于新的日志格式,可以构建以下监控指标:
1. 用户活跃度指标
- 每个用户的操作频率
- 用户在线时长统计
- 用户操作成功率
2. 系统健康指标
- Token刷新成功率(按用户)
- 连接稳定性(按用户)
- 错误发生频率(按用户)
3. 业务指标
- 自动回复使用率(按用户)
- AI回复成功率(按用户)
- 自动发货成功率(按用户)
🚀 部署建议
1. 重启服务
# 停止当前服务
docker-compose down
# 重新启动服务
docker-compose up -d
# 查看新的日志格式
docker-compose logs -f
2. 日志轮转配置
确保日志轮转配置能够处理增加的日志内容:
# loguru配置示例
rotation: "100 MB"
retention: "7 days"
compression: "zip"
3. 监控工具配置
如果使用ELK、Grafana等监控工具,需要更新日志解析规则以识别新的Cookie ID字段。
🎉 总结
通过本次改进,多用户系统的日志现在具备了:
- ✅ 清晰的用户标识: 每条日志都能明确标识操作用户
- ✅ 高效的问题定位: 快速定位特定用户的问题
- ✅ 精准的监控分析: 支持按用户维度的监控和分析
- ✅ 便捷的运维管理: 简化多用户环境的运维工作
这为多用户系统的稳定运行和高效管理奠定了坚实的基础!