xianyu-auto-reply/LOG_IMPROVEMENT_SUMMARY.md
2025-07-25 17:24:29 +08:00

6.0 KiB
Raw Blame History

日志显示改进总结

🎯 改进目标

在多用户系统中原有的日志无法区分不同用户的操作导致调试和监控困难。本次改进为所有重要日志添加了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字段。

🎉 总结

通过本次改进,多用户系统的日志现在具备了:

  • 清晰的用户标识: 每条日志都能明确标识操作用户
  • 高效的问题定位: 快速定位特定用户的问题
  • 精准的监控分析: 支持按用户维度的监控和分析
  • 便捷的运维管理: 简化多用户环境的运维工作

这为多用户系统的稳定运行和高效管理奠定了坚实的基础!