Part of #982.
Emit one structured JSON line per job lifecycle event to stdout so operators can grep, pipe to Loki, CloudWatch, Datadog, etc. without extra setup. Docker's default json-file log driver captures it automatically.
Events: job_complete, job_dead, job_error
Fields: level:audit, ts (Unix ms), job_id, payload_type, latency_ms, attempts, error
Emitted from both sqlite-queue.ts and pg-queue.ts processOne() completion paths. Full test coverage on all emit paths.
Part of #982.
Emit one structured JSON line per job lifecycle event to stdout so operators can grep, pipe to Loki, CloudWatch, Datadog, etc. without extra setup. Docker's default json-file log driver captures it automatically.
Events:
job_complete,job_dead,job_errorFields:
level:audit,ts(Unix ms),job_id,payload_type,latency_ms,attempts,errorEmitted from both
sqlite-queue.tsandpg-queue.tsprocessOne() completion paths. Full test coverage on all emit paths.