You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.7 KiB
69 lines
2.7 KiB
|
4 months ago
|
#!/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()
|