Documentation
¶
Overview ¶
Package logging provides structured logging utilities with context propagation and OpenTelemetry trace integration.
Index ¶
- func Component(ctx context.Context, name string) *slog.Logger
- func DiscardLogger() *slog.Logger
- func FromContext(ctx context.Context) *slog.Logger
- func ReconcileIDFromContext(ctx context.Context) string
- func TestLogger(tb testing.TB) (*slog.Logger, *bytes.Buffer)
- func WithLogger(ctx context.Context, logger *slog.Logger) context.Context
- func WithReconcileID(ctx context.Context) context.Context
- type TraceHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Component ¶
Component returns a logger with component name preset. The logger is extracted from context and enriched with "component" attribute.
func DiscardLogger ¶
DiscardLogger returns a logger that discards all output. Useful for tests that don't need to verify log output.
func FromContext ¶
FromContext extracts logger from context. Falls back to slog.Default() if no logger is present.
func ReconcileIDFromContext ¶
ReconcileIDFromContext extracts the reconcile ID from context. Returns empty string if not present.
func TestLogger ¶
TestLogger returns a logger that captures output for assertions. The returned buffer contains all log output in JSON format.
func WithLogger ¶
WithLogger returns a new context with the given logger embedded.
Types ¶
type TraceHandler ¶
TraceHandler wraps slog.Handler to automatically inject OpenTelemetry trace context (trace_id, span_id) into log records.
func NewTraceHandler ¶
func NewTraceHandler(h slog.Handler) *TraceHandler
NewTraceHandler creates a new TraceHandler wrapping the given handler.
func (*TraceHandler) Handle ¶
Handle injects trace_id and span_id from OpenTelemetry context into the log record.