MCPcopy Create free account
hub / github.com/AgentOps-AI/agentops / intercept_opentelemetry_logging

Function intercept_opentelemetry_logging

agentops/logging/config.py:63–86  ·  view source on GitHub ↗

Configure OpenTelemetry logging to redirect all messages to the AgentOps logger. All OpenTelemetry logs will be prefixed with [opentelemetry.X] and set to DEBUG level.

()

Source from the content-addressed store, hash-verified

61
62
63def intercept_opentelemetry_logging():
64 """
65 Configure OpenTelemetry logging to redirect all messages to the AgentOps logger.
66 All OpenTelemetry logs will be prefixed with [opentelemetry.X] and set to DEBUG level.
67 """
68 prefix = "opentelemetry"
69 otel_root_logger = logging.getLogger(prefix)
70 otel_root_logger.propagate = False
71 otel_root_logger.setLevel(logging.DEBUG) # capture all
72
73 for handler in otel_root_logger.handlers[:]:
74 otel_root_logger.removeHandler(handler)
75
76 # Create a handler that forwards all messages to the AgentOps logger
77 class OtelLogHandler(logging.Handler):
78 def emit(self, record):
79 if record.name.startswith(f"{prefix}."):
80 module_name = record.name.replace(f"{prefix}.", "", 1)
81 else:
82 module_name = record.name
83 message = f"[{prefix}.{module_name}] {record.getMessage()}"
84 logger.debug(message)
85
86 otel_root_logger.addHandler(OtelLogHandler())

Calls 1

OtelLogHandlerClass · 0.85

Used in the wild real call sites across dependent graphs

searching dependent graphs…