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

167 lines
6.4 KiB
Python

#!/usr/bin/env python3
"""
测试Cookie ID在日志中的显示
"""
import time
import asyncio
from loguru import logger
# 模拟多个Cookie的日志输出
async def test_cookie_log_display():
"""测试Cookie ID在日志中的显示效果"""
print("🧪 测试Cookie ID日志显示")
print("=" * 50)
# 模拟不同Cookie的日志输出
cookies = [
{"id": "user1_cookie", "name": "用户1的账号"},
{"id": "user2_cookie", "name": "用户2的账号"},
{"id": "admin_cookie", "name": "管理员账号"}
]
print("📋 模拟多用户系统日志输出:")
print("-" * 50)
for i, cookie in enumerate(cookies):
cookie_id = cookie["id"]
cookie_name = cookie["name"]
# 模拟各种类型的日志
msg_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 1. Token相关日志
logger.info(f"{cookie_id}】开始刷新token...")
await asyncio.sleep(0.1)
logger.info(f"{cookie_id}】Token刷新成功")
# 2. 连接相关日志
logger.info(f"{cookie_id}】连接注册完成")
# 3. 系统消息日志
logger.info(f"[{msg_time}] 【{cookie_id}】【系统】小闲鱼智能提示:")
logger.info(f" - 欢迎使用闲鱼智能助手")
# 4. 消息处理日志
logger.info(f"[{msg_time}] 【{cookie_id}】【系统】买家已付款,准备自动发货")
logger.info(f"{cookie_id}】准备自动发货: item_id=123456, item_title=测试商品")
# 5. 回复相关日志
logger.info(f"{cookie_id}】使用默认回复: 您好,感谢您的咨询!")
logger.info(f"{cookie_id}】AI回复生成成功: 这是AI生成的回复")
# 6. 错误日志
if i == 1: # 只在第二个Cookie上模拟错误
logger.error(f"{cookie_id}】Token刷新失败: 网络连接超时")
print() # 空行分隔
await asyncio.sleep(0.2)
print("=" * 50)
print("✅ 日志显示测试完成")
print("\n📊 日志格式说明:")
print("• 【Cookie_ID】- 标识具体的用户账号")
print("• 【系统】- 系统级别的消息")
print("• [时间戳] - 消息发生的具体时间")
print("• 不同用户的操作现在可以清晰区分")
print("\n🎯 改进效果:")
print("• ✅ 多用户环境下可以快速定位问题")
print("• ✅ 日志分析更加高效")
print("• ✅ 运维监控更加精准")
print("• ✅ 调试过程更加清晰")
def test_log_format_comparison():
"""对比改进前后的日志格式"""
print("\n🔍 日志格式对比")
print("=" * 50)
print("📝 改进前的日志格式:")
print("2025-07-25 14:23:47.770 | INFO | XianyuAutoAsync:init:1360 - 获取初始token...")
print("2025-07-25 14:23:47.771 | INFO | XianyuAutoAsync:refresh_token:134 - 开始刷新token...")
print("2025-07-25 14:23:48.269 | INFO | XianyuAutoAsync:refresh_token:200 - Token刷新成功")
print("2025-07-25 14:23:49.286 | INFO | XianyuAutoAsync:init:1407 - 连接注册完成")
print("2025-07-25 14:23:49.288 | INFO | XianyuAutoAsync:handle_message:1663 - [2025-07-25 14:23:49] 【系统】小闲鱼智能提示:")
print("\n📝 改进后的日志格式:")
print("2025-07-25 14:23:47.770 | INFO | XianyuAutoAsync:init:1360 - 【user1_cookie】获取初始token...")
print("2025-07-25 14:23:47.771 | INFO | XianyuAutoAsync:refresh_token:134 - 【user1_cookie】开始刷新token...")
print("2025-07-25 14:23:48.269 | INFO | XianyuAutoAsync:refresh_token:200 - 【user1_cookie】Token刷新成功")
print("2025-07-25 14:23:49.286 | INFO | XianyuAutoAsync:init:1407 - 【user1_cookie】连接注册完成")
print("2025-07-25 14:23:49.288 | INFO | XianyuAutoAsync:handle_message:1663 - [2025-07-25 14:23:49] 【user1_cookie】【系统】小闲鱼智能提示:")
print("\n🎯 改进优势:")
print("• 🔍 快速识别: 一眼就能看出是哪个用户的操作")
print("• 🐛 问题定位: 多用户环境下快速定位问题源头")
print("• 📈 监控分析: 可以按用户统计操作频率和成功率")
print("• 🔧 运维管理: 便于针对特定用户进行故障排查")
def generate_log_analysis_tips():
"""生成日志分析技巧"""
print("\n💡 日志分析技巧")
print("=" * 50)
tips = [
{
"title": "按用户过滤日志",
"command": "grep '【user1_cookie】' xianyu_2025-07-25.log",
"description": "查看特定用户的所有操作日志"
},
{
"title": "查看Token刷新情况",
"command": "grep '【.*】.*Token' xianyu_2025-07-25.log",
"description": "监控所有用户的Token刷新状态"
},
{
"title": "统计用户活跃度",
"command": "grep -o '【[^】]*】' xianyu_2025-07-25.log | sort | uniq -c",
"description": "统计各用户的操作次数"
},
{
"title": "查看系统消息",
"command": "grep '【系统】' xianyu_2025-07-25.log",
"description": "查看所有系统级别的消息"
},
{
"title": "监控错误日志",
"command": "grep 'ERROR.*【.*】' xianyu_2025-07-25.log",
"description": "查看特定用户的错误信息"
}
]
for i, tip in enumerate(tips, 1):
print(f"{i}. {tip['title']}")
print(f" 命令: {tip['command']}")
print(f" 说明: {tip['description']}")
print()
async def main():
"""主函数"""
print("🚀 Cookie ID日志显示测试工具")
print("=" * 60)
# 测试日志显示
await test_cookie_log_display()
# 对比日志格式
test_log_format_comparison()
# 生成分析技巧
generate_log_analysis_tips()
print("=" * 60)
print("🎉 测试完成!现在您可以在多用户环境下清晰地识别每个用户的操作。")
print("\n📋 下一步建议:")
print("1. 重启服务以应用日志改进")
print("2. 观察实际运行中的日志输出")
print("3. 使用提供的命令进行日志分析")
print("4. 根据需要调整日志级别和格式")
if __name__ == "__main__":
asyncio.run(main())