"""日志配置""" import logging from logging.handlers import RotatingFileHandler def setup_logging(config) -> logging.Logger: """配置日志系统,返回 logger 实例。""" logger = logging.getLogger("wechat_clicker") logger.setLevel(getattr(logging, config.log_level, logging.INFO)) # 避免重复添加 handler if logger.handlers: return logger formatter = logging.Formatter( "%(asctime)s [%(levelname)s] %(name)s: %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) # 文件 handler(自动轮转) file_handler = RotatingFileHandler( config.log_file, maxBytes=config.log_max_bytes, backupCount=config.log_backup_count, encoding="utf-8", ) file_handler.setFormatter(formatter) logger.addHandler(file_handler) # 控制台 handler if config.log_console: console_handler = logging.StreamHandler() console_handler.setFormatter(logging.Formatter( "%(asctime)s [%(levelname)s] %(message)s", datefmt="%H:%M:%S", )) logger.addHandler(console_handler) return logger