""" 前端日志模块 基于环境变量控制日志级别,与后端保持一致 """ import os import logging from typing import Any from dotenv import load_dotenv # 先加载环境变量 load_dotenv() # ==================== 日志配置 ==================== # 从环境变量读取日志级别,默认 INFO LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper() # 根据环境变量控制是否显示详细调试信息 DEBUG_MODE = os.getenv("DEBUG", "false").lower() == "true" # 创建统一的日志器 logger = logging.getLogger("ai_agent_frontend") logger.setLevel(getattr(logging, LOG_LEVEL, logging.INFO)) # 避免重复添加 handler if not logger.handlers: handler = logging.StreamHandler() handler.setLevel(getattr(logging, LOG_LEVEL, logging.INFO)) formatter = logging.Formatter( fmt="%(asctime)s | %(levelname)-8s | %(name)s | %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) handler.setFormatter(formatter) logger.addHandler(handler) # ==================== 日志函数 ==================== def debug(msg: Any, *args, **kwargs): """ 调试日志,仅在 DEBUG 环境变量为 true 时打印 Args: msg: 日志消息 """ if DEBUG_MODE: logger.debug(msg, *args, **kwargs) def info(msg: Any, *args, **kwargs): """ 信息日志 Args: msg: 日志消息 """ logger.info(msg, *args, **kwargs) def warning(msg: Any, *args, **kwargs): """ 警告日志 Args: msg: 日志消息 """ logger.warning(msg, *args, **kwargs) def error(msg: Any, *args, **kwargs): """ 错误日志 Args: msg: 日志消息 """ logger.error(msg, *args, **kwargs)