import logging import os from datetime import datetime def setup_logging(log_level=logging.INFO, log_dir="logs"): """ 设置统一的日志配置 Args: log_level: 日志级别,默认为 INFO log_dir: 日志文件目录,默认为 logs """ # 创建日志目录 if not os.path.exists(log_dir): os.makedirs(log_dir) # 生成日志文件名,包含日期 log_file = os.path.join(log_dir, f"app_{datetime.now().strftime('%Y%m%d')}.log") # 配置根日志记录器 logging.basicConfig( level=log_level, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[ # 输出到控制台 logging.StreamHandler(), # 输出到文件 logging.FileHandler(log_file, encoding='utf-8') ] ) # 设置第三方库的日志级别 logging.getLogger("httpx").setLevel(logging.INFO) logging.getLogger("urllib3").setLevel(logging.INFO) logging.getLogger("openai").setLevel(logging.INFO) logging.getLogger("httpcore").setLevel(logging.INFO) logging.info(f"日志配置完成,日志文件: {log_file}") def get_logger(name): """ 获取指定名称的日志记录器 Args: name: 日志记录器名称 Returns: logging.Logger: 日志记录器实例 """ return logging.getLogger(name)