logger.py 891 B

123456789101112131415161718192021222324252627282930
  1. # mt_spider/logger.py
  2. import os
  3. import logging
  4. from logging.handlers import TimedRotatingFileHandler
  5. LOG_DIR = os.path.join(os.path.dirname(__file__), '..', 'logs')
  6. os.makedirs(LOG_DIR, exist_ok=True)
  7. def setup_logger(name: str = "mt_spider"):
  8. logger = logging.getLogger()
  9. logger.setLevel(logging.INFO)
  10. fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
  11. console = logging.StreamHandler()
  12. console.setFormatter(fmt)
  13. file_handler = TimedRotatingFileHandler(
  14. filename=os.path.join(LOG_DIR, f'{name}.log'),
  15. when='midnight',
  16. interval=1,
  17. encoding='utf-8',
  18. backupCount=0 # 不删除历史
  19. )
  20. file_handler.suffix = "%Y-%m-%d"
  21. file_handler.setFormatter(fmt)
  22. if not logger.handlers: # 防止重复
  23. logger.addHandler(console)
  24. logger.addHandler(file_handler)
  25. return logger