Skip to content

Epic: Enhanced structured logging system #442

Description

@psschwei

Description:
Enhance the existing FancyLogger to integrate with the rest of the observability stack. This enables log-trace correlation, structured context propagation, and flexible output destinations while preserving the existing API.

Current State:

  • FancyLogger in mellea/core/utils.py uses Python's built-in logging module
  • Custom formatters: CustomFormatter (colored console), JsonFormatter (JSON serialization)
  • Optional RESTHandler for HTTP webhook logging (only active if FLOG env var set)
  • No correlation with distributed tracing (no trace_id/span_id injection)
  • No contextvars integration for async flows
  • Used in 13+ files across backends, requirements, components, and sampling strategies

Acceptance Criteria:

  • Automatic trace_id/span_id injection from OpenTelemetry
  • Context propagation via contextvars (session_id, request_id, model_id)
  • Multiple output sinks (stdout, file, OTLP logs)
  • Existing FancyLogger API preserved

Metadata

Metadata

Labels

area/telemetryOTel spans, metrics, tracing, semconv

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions