logger_manager.py 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. from core.utils.log.local_log import Local
  2. from core.utils.log.aliyun_log import AliyunLogger
  3. class LoggerManager:
  4. """
  5. 日志管理器 - 优化版
  6. """
  7. _local_loggers = {}
  8. _aliyun_loggers = {}
  9. @staticmethod
  10. def get_logger(platform: str = "system", mode: str = "crawler", log_to_console=True):
  11. key = f"{platform}_{mode}"
  12. if key not in LoggerManager._local_loggers:
  13. LoggerManager._local_loggers[key] = Local.init_logger(
  14. platform=platform,
  15. mode=mode,
  16. log_to_console=log_to_console
  17. )
  18. return LoggerManager._local_loggers[key]
  19. @staticmethod
  20. def get_aliyun_logger(platform: str = "system", mode: str = "crawler", env: str = "prod"):
  21. key = f"{platform}_{mode}"
  22. if key not in LoggerManager._aliyun_loggers:
  23. LoggerManager._aliyun_loggers[key] = AliyunLogger(
  24. platform=platform,
  25. mode=mode,
  26. env=env
  27. )
  28. return LoggerManager._aliyun_loggers[key]