# 日志显示改进总结 ## 🎯 改进目标 在多用户系统中,原有的日志无法区分不同用户的操作,导致调试和监控困难。本次改进为所有重要日志添加了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字段。 ## 🎉 总结 通过本次改进,多用户系统的日志现在具备了: - ✅ **清晰的用户标识**: 每条日志都能明确标识操作用户 - ✅ **高效的问题定位**: 快速定位特定用户的问题 - ✅ **精准的监控分析**: 支持按用户维度的监控和分析 - ✅ **便捷的运维管理**: 简化多用户环境的运维工作 这为多用户系统的稳定运行和高效管理奠定了坚实的基础!