The ingress + Grafana pipeline parses JSON-formatted log lines; Elixir's default text formatter was the odd format everywhere else, forcing Loki to fall back to free-text parsing. Swap the `:default` :logger handler's formatter to `LoggerJSON.Formatters.Basic` when `LOG_FORMAT=json`. Defaults: `LOG_FORMAT=text` for dev/test (no behaviour change), `json` for prod. Whitelisted metadata covers the fields we actually correlate on — `request_id`, `trace_id`, `worker`, `queue`, `job_id`. OTP 28 / Elixir 1.19 exposes `Logger.Formatter.new/1` but ships no JSON encoder of its own, so `logger_json` (~> 7.0) carries the rendering. The test pokes the formatter directly rather than round-tripping through ExUnit's capture_log, which replaces the handler and so can't see the installed formatter's output. |
||
|---|---|---|
| .. | ||
| fixtures | ||
| microwaveprop | ||
| microwaveprop_web | ||
| mix/tasks | ||
| support | ||
| test_helper.exs | ||