diff --git a/joint_teapot/utils/logger.py b/joint_teapot/utils/logger.py index a74c835..36389d6 100644 --- a/joint_teapot/utils/logger.py +++ b/joint_teapot/utils/logger.py @@ -11,6 +11,11 @@ from joint_teapot.config import settings # recipe from https://loguru.readthedocs.io/en/stable/overview.html#entirely-compatible-with-standard-logging class InterceptHandler(logging.Handler): + def __init__(self, diagnose: bool = True, backtrace: bool = True): + super().__init__() + self.diagnose = diagnose + self.backtrace = backtrace + def emit(self, record: logging.LogRecord) -> None: try: level = logger.level(record.levelname).name @@ -25,7 +30,7 @@ class InterceptHandler(logging.Handler): depth += 1 logger.opt(depth=depth, exception=record.exc_info).log( - level, record.getMessage() + level, record.getMessage(), diagnose=self.diagnose, backtrace=self.backtrace ) @@ -35,7 +40,9 @@ def set_logger( diagnose: bool = True, backtrace: bool = True, ) -> None: - logging.basicConfig(handlers=[InterceptHandler()], level=0, force=True) + logging.basicConfig( + handlers=[InterceptHandler(diagnose, backtrace)], level=0, force=True + ) logger.remove() logger.add( stderr,