package logging import ( "context" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" sdktrace "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/otel/sdk/trace/tracetest" ) func TestNewRejectsInvalidLogLevel(t *testing.T) { t.Parallel() _, err := New("verbose") require.Error(t, err) } func TestTraceFieldsFromContextReturnsTraceAndSpanIDs(t *testing.T) { t.Parallel() recorder := tracetest.NewSpanRecorder() provider := sdktrace.NewTracerProvider(sdktrace.WithSpanProcessor(recorder)) ctx, span := provider.Tracer("test").Start(context.Background(), "operation") defer span.End() fields := TraceFieldsFromContext(ctx) require.Len(t, fields, 2) assert.Equal(t, "otel_trace_id", fields[0].Key) assert.Equal(t, "otel_span_id", fields[1].Key) assert.NotEmpty(t, fields[0].String) assert.NotEmpty(t, fields[1].String) }