123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- 日志系统测试脚本
- 用于验证日志服务改造是否成功
- """
- import os
- import sys
- import time
- from pathlib import Path
- # 添加项目根目录到Python路径
- project_root = Path(__file__).parent
- sys.path.insert(0, str(project_root))
- def test_logging_system():
- """测试日志系统的各个功能"""
- print("=" * 60)
- print("开始测试日志系统...")
- print("=" * 60)
-
- # 1. 测试日志系统初始化
- try:
- from core.logging import initialize_logging, get_app_logger, get_agent_logger, get_vanna_logger, get_data_pipeline_logger
- from core.logging import set_log_context, clear_log_context
-
- # 初始化日志系统
- initialize_logging()
- print("✅ 日志系统初始化成功")
- except Exception as e:
- print(f"❌ 日志系统初始化失败: {e}")
- return
-
- # 2. 测试各模块的logger
- print("\n测试各模块的logger...")
-
- # App模块
- try:
- app_logger = get_app_logger("TestApp")
- app_logger.info("这是App模块的测试日志")
- app_logger.warning("这是App模块的警告日志")
- app_logger.error("这是App模块的错误日志")
- print("✅ App模块logger测试成功")
- except Exception as e:
- print(f"❌ App模块logger测试失败: {e}")
-
- # Agent模块
- try:
- agent_logger = get_agent_logger("TestAgent")
- agent_logger.info("这是Agent模块的测试日志")
- agent_logger.debug("这是Agent模块的调试日志")
- print("✅ Agent模块logger测试成功")
- except Exception as e:
- print(f"❌ Agent模块logger测试失败: {e}")
-
- # Vanna模块
- try:
- vanna_logger = get_vanna_logger("TestVanna")
- vanna_logger.info("这是Vanna模块的测试日志")
- vanna_logger.warning("这是Vanna模块的警告日志")
- print("✅ Vanna模块logger测试成功")
- except Exception as e:
- print(f"❌ Vanna模块logger测试失败: {e}")
-
- # Data Pipeline模块
- try:
- dp_logger = get_data_pipeline_logger("TestDataPipeline")
- dp_logger.info("这是Data Pipeline模块的测试日志")
- dp_logger.error("这是Data Pipeline模块的错误日志")
- print("✅ Data Pipeline模块logger测试成功")
- except Exception as e:
- print(f"❌ Data Pipeline模块logger测试失败: {e}")
-
- # 3. 测试上下文功能
- print("\n测试上下文功能...")
- try:
- # 设置上下文
- set_log_context(user_id="test_user_123", session_id="session_456")
- app_logger.info("这是带上下文的日志")
-
- # 清除上下文
- clear_log_context()
- app_logger.info("这是清除上下文后的日志")
- print("✅ 上下文功能测试成功")
- except Exception as e:
- print(f"❌ 上下文功能测试失败: {e}")
-
- # 4. 检查日志文件
- print("\n检查日志文件...")
- log_dir = Path("logs")
- expected_files = ["app.log", "agent.log", "vanna.log", "data_pipeline.log"]
-
- if log_dir.exists():
- print(f"日志目录: {log_dir.absolute()}")
- for log_file in expected_files:
- file_path = log_dir / log_file
- if file_path.exists():
- size = file_path.stat().st_size
- print(f"✅ {log_file} - 大小: {size} bytes")
-
- # 显示最后几行日志
- try:
- with open(file_path, 'r', encoding='utf-8') as f:
- lines = f.readlines()
- if lines:
- print(f" 最新日志: {lines[-1].strip()}")
- except Exception as e:
- print(f" 读取日志失败: {e}")
- else:
- print(f"❌ {log_file} - 文件不存在")
- else:
- print(f"❌ 日志目录不存在: {log_dir}")
-
- print("\n" + "=" * 60)
- print("日志系统测试完成!")
- print("=" * 60)
- if __name__ == "__main__":
- test_logging_system()
|