import logging import os from logging.handlers import TimedRotatingFileHandler BASE_DIR = os.path.dirname( os.path.dirname(os.path.abspath(__file__)) ) LOG_DIR = os.path.join(BASE_DIR, "logs") os.makedirs(LOG_DIR, exist_ok=True) def create_logger(name, filename): logger = logging.getLogger(name) if logger.handlers: return logger logger.setLevel(logging.INFO) log_path = os.path.join(LOG_DIR, filename) handler = TimedRotatingFileHandler( log_path, when="midnight", interval=1, backupCount=30, encoding="utf-8" ) handler.suffix = "%Y-%m-%d.log" formatter = logging.Formatter( "[%(asctime)s] " "[%(levelname)s] " "%(message)s" ) handler.setFormatter(formatter) logger.addHandler(handler) return logger # 直接可用 system_logger = create_logger( "system_logger", "system.log" ) tool_logger = create_logger( "tool_logger", "tool.log" ) error_logger = create_logger( "error_logger", "error.log" )