| 123456789101112131415161718192021222324252627282930 |
- # 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 = "mt_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
|