Severity
The 1-24 severity number scale, six canonical severity_text strings, and the bucket mapping that backends rely on for exact-match filtering.
Sinks
The Sink protocol and the three Phase 1 sinks — ConsoleSink, FileSink, InMemorySink. Multi-sink routing with per-sink severity filtering.
Context propagation
How trace_id, span_id, and W3C Baggage entries are injected into every LogRecord automatically — and how to opt out for fire-and-forget emits.
Operations and typed events
How long-running business operations are tagged with operation.name / operation.id and how typed events use event.domain / event.name with schema validation.
Redaction
Suffix-based attribute masking — _key, _secret, _token, _password, _passphrase, _credentials. How the rule applies recursively to nested attributes.
Scoped overrides
Temporarily replace sinks for a single agent run, test, or audit endpoint via with_sinks, append_sinks, and the scope_sinks context manager.
Wire formats
Three wire formats — OTLP protobuf, OTLP JSON, dagstack JSON-lines — share the same internal LogRecord. Encoding rules for timestamps, trace ids, and key casing.
AI-agent observability
Optional extension pack for LLM and agent applications — gen_ai, mcp, rag, agent, prompt namespaces. OTel GenAI conformance, body truncation, privacy mode.