evofabric.logger 源代码
# -*- coding: utf-8 -*-
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All Rights Reserved.
_LOGGER = None
def _get_loguru_logger():
try:
from loguru import logger
return logger
except ImportError:
raise ValueError(
"EvoFabric logger requires loguru to be installed."
"Please install loguru by running `pip install loguru`"
)
[文档]
def get_logger():
return _LoggerProxy()
[文档]
def set_logger(logger):
global _LOGGER
_LOGGER = logger
class _LoggerProxy:
def __init__(self):
object.__setattr__(self, "_dummy", True)
@property
def _real(self):
return _LOGGER or _get_loguru_logger()
def __getattribute__(self, name: str):
return getattr(object.__getattribute__(self, "_real"), name)
def debug(self, msg, *args, **kwargs):
return self._real.debug(msg, *args, **kwargs)
def info(self, msg, *args, **kwargs):
return self._real.info(msg, *args, **kwargs)
def warning(self, msg, *args, **kwargs):
return self._real.warning(msg, *args, **kwargs)
def error(self, msg, *args, **kwargs):
return self._real.error(msg, *args, **kwargs)
def exception(self, msg, *args, **kwargs):
return self._real.exception(msg, *args, **kwargs)
def critical(self, msg, *args, **kwargs):
return self._real.critical(msg, *args, **kwargs)