Add slog.Logger support for feature flag eval failure observability

Adds an optional Logger *slog.Logger field to Config. When set, the package emits a structured Warn-level log entry on every evaluation failure, including the flag key and error message.

This closes the observability acceptance criterion of team-tasks #4382: "Timeout events are observable via logs or metrics."

Changes

  • Config.Logger *slog.Logger — optional, fully godoc'd
  • Client.logger — wired from Config in NewWithConfig
  • evaluate helper — calls c.logger.WarnContext(...) when err != nil
  • TestBooleanValueDetails_LogsOnFailure — asserts the warning is emitted for a missing flag

Test plan

  • go test ./featureflag/... -v -run TestBooleanValueDetails_LogsOnFailure passes
  • Existing tests unchanged

Stack (merge in order)

# MR Status
1 !485 (merged) — Add httptest slow-server timeout test merge into master first
2 !486 (merged) — Add slog.Logger observability ← you are here retarget to master after !485 (merged) merges
3 !487 (merged) — Document error propagation retarget to master after !486 (merged) merges
Edited by Elliot Forbes

Merge request reports

Loading
Loading