Source code for core.otlp.formatters
"""OTLP log formatters for jobmon."""
from __future__ import annotations
import logging
from .utils import get_current_span_details
[docs]
class JobmonOTLPFormatter(logging.Formatter):
"""Formatter that adds OpenTelemetry span details to jobmon logs."""
[docs]
def format(self, record: logging.LogRecord) -> str:
"""Format log record with OpenTelemetry span details."""
span_id, trace_id, parent_span_id = get_current_span_details()
record.span_id = span_id
record.trace_id = trace_id
record.parent_span_id = parent_span_id
return super().format(record)