package telemetry import ( "context" "fmt" ) // Private type to store the telemetry logger in the context type telemetryLogger int // Key to store the telemetry logger in the context var telemetryLoggerKey telemetryLogger func WithNewLogger(ctx context.Context) context.Context { return context.WithValue(ctx, telemetryLoggerKey, &logger{}) } func fromContext(ctx context.Context) *logger { v := ctx.Value(telemetryLoggerKey) if v == nil { panic(fmt.Errorf("telemetry logger not found in the context")) } return v.(*logger) }