123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- from typing import Any
- from core.utils.log.aliyun_log import AliyunLogger
- from core.utils.log.local_log import Local
- from loguru._logger import Logger as LoguruLogger
- class LoggerManager:
- """
- 日志管理器
- """
- _local_loggers: dict[str, LoguruLogger] = {}
- _aliyun_loggers: dict[str, AliyunLogger] = {}
- @staticmethod
- def get_logger(
- platform: str="system",
- mode: str="crawler",
- log_to_console: bool = False
- ) -> LoguruLogger:
- key = f"{platform}_{mode}"
- if key not in LoggerManager._local_loggers:
- LoggerManager._local_loggers[key] = Local.init_logger(
- platform=platform,
- mode=mode,
- log_to_console=log_to_console
- )
- return LoggerManager._local_loggers[key]
- @staticmethod
- def get_aliyun_logger(
- platform: str = "system",
- mode: str = "crawler",
- env: str = "prod"
- ) -> AliyunLogger:
- """
- :rtype: AliyunLogger
- """
- key = f"{platform}_{mode}"
- if key not in LoggerManager._aliyun_loggers:
- LoggerManager._aliyun_loggers[key] = AliyunLogger(
- platform=platform,
- mode=mode,
- env=env
- )
- return LoggerManager._aliyun_loggers[key]
|