import logging import os import colorlog # 创建日志记录器 log = logging.getLogger(__name__) log.setLevel(logging.INFO) log_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../logs')) os.makedirs(log_dir, exist_ok=True) # 自动创建目录(如果不存在) # 创建文件处理器 file_handler = logging.FileHandler('../logs/cross.log', encoding='utf-8') file_handler.setLevel(logging.INFO) # 创建控制台处理器 console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) # 控制台处理器(带颜色) console_handler = colorlog.StreamHandler() console_handler.setLevel(logging.DEBUG) # 文件格式器 plain_formatter = logging.Formatter( '%(asctime)s - %(name)s:%(lineno)d - %(levelname)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S' ) # 控制台颜色格式器 color_formatter = colorlog.ColoredFormatter( '%(log_color)s%(asctime)s - %(name)s:%(lineno)d - %(levelname)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S', log_colors={ 'DEBUG': 'cyan', 'INFO': 'green', 'WARNING': 'yellow', 'ERROR': 'red', 'CRITICAL': 'red,bg_white', } ) # 应用格式器 file_handler.setFormatter(plain_formatter) console_handler.setFormatter(color_formatter) # 添加处理器到记录器 log.addHandler(file_handler) log.addHandler(console_handler)