#!/usr/bin/env python3 """ 测试自动日志级别选择功能 """ import sys import os # 添加项目根目录到Python路径 sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from app.utils.structured_log import get_structured_logger def test_auto_logging(): """测试自动日志级别选择功能""" print("=== 测试自动日志级别选择功能 ===") # 测试自动获取默认级别 print("\n=== 测试自动获取默认级别 ===") # 不指定级别,自动获取 auto_logger = get_structured_logger("app.test.auto") print(f"自动级别日志记录器: {auto_logger.logger.level}") auto_logger.debug("自动级别下的DEBUG日志", module="auto_test") auto_logger.info("自动级别下的INFO日志", module="auto_test") auto_logger.warning("自动级别下的WARNING日志", module="auto_test") auto_logger.error("自动级别下的ERROR日志", module="auto_test") # 测试不同模块的自动级别 print("\n=== 测试不同模块的自动级别 ===") # WebSocket模块 websocket_logger = get_structured_logger("app.core.websocket.client") print(f"WebSocket模块级别: {websocket_logger.logger.level}") websocket_logger.debug("WebSocket模块DEBUG日志", module="websocket") websocket_logger.info("WebSocket模块INFO日志", module="websocket") # ADB服务模块 adb_logger = get_structured_logger("app.services.adb_service") print(f"ADB服务模块级别: {adb_logger.logger.level}") adb_logger.debug("ADB服务模块DEBUG日志", module="adb_service") adb_logger.info("ADB服务模块INFO日志", module="adb_service") # 设备服务模块 device_logger = get_structured_logger("app.services.device_service") print(f"设备服务模块级别: {device_logger.logger.level}") device_logger.debug("设备服务模块DEBUG日志", module="device_service") device_logger.info("设备服务模块INFO日志", module="device_service") # 测试异常日志 print("\n=== 测试异常日志 ===") try: raise ValueError("这是一个测试异常") except Exception as e: auto_logger.exception("捕获到异常", exception_info=str(e)) print("\n=== 测试完成 ===") print("请检查以下文件:") print("- logs/app.log (包含所有日志)") print("- logs/error.log (只包含错误日志)") print("- 控制台输出 (实时显示)") print("\n说明:") print("- 自动级别根据环境配置自动选择") print("- 开发环境默认为DEBUG级别") print("- 生产环境默认为INFO级别") print("- 系统统一管理,不允许单个文件自定义级别") if __name__ == "__main__": test_auto_logging()