Loading
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'dClient.logger— wired fromConfiginNewWithConfigevaluatehelper — callsc.logger.WarnContext(...)whenerr != nilTestBooleanValueDetails_LogsOnFailure— asserts the warning is emitted for a missing flag
Test plan
-
go test ./featureflag/... -v -run TestBooleanValueDetails_LogsOnFailurepasses - 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