MCPcopy Create free account
hub / github.com/Nativu5/Gemini-FastAPI / InterceptHandler

Class InterceptHandler

app/utils/logging.py:46–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44 """Setup standard logging library interceptor to redirect to loguru"""
45
46 class InterceptHandler(logging.Handler):
47 def emit(self, record: logging.LogRecord) -> None:
48 # Get corresponding Loguru level if it exists.
49 try:
50 level: str | int = logger.level(record.levelname).name
51 except ValueError:
52 level = record.levelno
53
54 # Find caller from where originated the logged message.
55 frame, depth = inspect.currentframe(), 0
56 while frame:
57 filename = frame.f_code.co_filename
58 is_logging = filename == logging.__file__
59 is_frozen = "importlib" in filename and "_bootstrap" in filename
60 if depth > 0 and not (is_logging or is_frozen):
61 break
62 frame = frame.f_back
63 depth += 1
64
65 logger.opt(depth=depth, exception=record.exc_info).log(level, record.getMessage())
66
67 # Remove all existing handlers and add our interceptor
68 logging.basicConfig(handlers=[InterceptHandler()], level="INFO", force=True)

Callers 1

_setup_logging_interceptFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected