# mt_spider/logger.py import os import logging from logging.handlers import TimedRotatingFileHandler LOG_DIR = os.path.join(os.path.dirname(__file__), '..', 'logs') os.makedirs(LOG_DIR, exist_ok=True) def setup_logger(name: str = "pdd_spider"): logger = logging.getLogger() logger.setLevel(logging.INFO) fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') console = logging.StreamHandler() console.setFormatter(fmt) file_handler = TimedRotatingFileHandler( filename=os.path.join(LOG_DIR, f'{name}.log'), when='midnight', interval=1, encoding='utf-8', backupCount=0 # 不删除历史 ) file_handler.suffix = "%Y-%m-%d" file_handler.setFormatter(fmt) if not logger.handlers: # 防止重复 logger.addHandler(console) logger.addHandler(file_handler) return logger