You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(observability): normalize evlog wide events for Axiom error fields
Drain: move string error to error_message, downgrade 4xx to warn.
captureError: log client EvlogErrors as warn. Process logs use error_message
to avoid clobbering structured error.message. Document in databuddy skill.
Copy file name to clipboardExpand all lines: .agents/skills/databuddy/SKILL.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,6 +78,7 @@ Read [codebase-map.md](./references/codebase-map.md) when you need deeper routin
78
78
- Start in `apps/basket/src`
79
79
- Request validation, billing checks, geo/IP parsing, producer logic, and structured errors are important here
80
80
- Storage and schema concerns usually continue into `packages/db`
81
+
-**evlog → Axiom:** never use top-level `error` as a **string** on `log.error({ ... })` (e.g. process handlers); it overwrites structured `error.message` on the wide event. Use `error_message` instead. Basket/API drains run `normalizeWideEventForAxiom` before ingest; 4xx `EvlogError` rows are emitted as `level: "warn"` with `client_http_error: true` so Axiom “errors” are not inflated by expected client failures.
0 commit comments