import logging from logging.handlers import TimedRotatingFileHandler import os def setup_logger(file_name): # 获取一个日志记录器 logger = logging.getLogger(file_name) # 设置日志级别 logger.setLevel(logging.DEBUG) # 设置最低的日志级别为DEBUG # 创建一个文件处理器,并设置日志文件的路径 # file_handler = logging.FileHandler(f"./logs/{file_name}.log", encoding="utf-8") log_file_path = os.path.join("./logs", f"{file_name}.log") file_handler = TimedRotatingFileHandler( filename=log_file_path, when="midnight", # 每天午夜轮转 interval=1, # 每隔1天轮转一次 encoding="utf-8" ) # 设置文件处理器的日志级别 file_handler.setLevel(logging.DEBUG) # 创建一个控制台处理器(可选,用于同时输出到控制台) console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) # 创建一个格式化器,并设置日志条目的格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(message)s') # 将格式化器添加到处理器 file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) # 将处理器添加到日志记录器 logger.addHandler(file_handler) logger.addHandler(console_handler) return logger