1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- from .log_manager import LogManager
- import logging
- import platform
- import os
- # 全局日志管理器实例
- _log_manager = LogManager()
- def get_platform_specific_config_path() -> str:
- """根据操作系统自动选择合适的日志配置文件"""
- if platform.system() == "Windows":
- config_path = "config/logging_config_windows.yaml"
- else:
- config_path = "config/logging_config.yaml"
-
- # 检查配置文件是否存在,如果不存在则回退到默认配置
- if not os.path.exists(config_path):
- fallback_path = "config/logging_config.yaml"
- if os.path.exists(fallback_path):
- return fallback_path
- else:
- raise FileNotFoundError(f"日志配置文件不存在: {config_path} 和 {fallback_path}")
-
- return config_path
- def initialize_logging(config_path: str = None):
- """初始化项目日志系统
-
- Args:
- config_path: 可选的配置文件路径。如果不提供,将根据操作系统自动选择
- """
- if config_path is None:
- config_path = get_platform_specific_config_path()
-
- _log_manager.initialize(config_path)
- def get_logger(name: str, module: str = "default") -> logging.Logger:
- """获取logger实例 - 主要API"""
- return _log_manager.get_logger(name, module)
- # 便捷方法
- def get_data_pipeline_logger(name: str) -> logging.Logger:
- """获取data_pipeline模块logger"""
- return get_logger(name, "data_pipeline")
- def get_agent_logger(name: str) -> logging.Logger:
- """获取agent模块logger"""
- return get_logger(name, "agent")
- def get_vanna_logger(name: str) -> logging.Logger:
- """获取vanna模块logger"""
- return get_logger(name, "vanna")
- def get_app_logger(name: str) -> logging.Logger:
- """获取app模块logger"""
- return get_logger(name, "app")
- def get_react_agent_logger(name: str) -> logging.Logger:
- """获取react_agent模块logger"""
- return get_logger(name, "react_agent")
- # 上下文管理便捷方法
- def set_log_context(**kwargs):
- """设置日志上下文(可选)
- 示例: set_log_context(user_id='user123', session_id='sess456')
- """
- _log_manager.set_context(**kwargs)
- def clear_log_context():
- """清除日志上下文"""
- _log_manager.clear_context()
|