feat: migrate backend logging from Winston to Pino with correlation IDs (#82) #91

Merged
egullickson merged 2 commits from issue-82-pino-migration into main 2026-02-04 02:24:33 +00:00
Owner

Summary

  • Replace Winston with Pino using API-compatible wrapper (79 importing files require NO changes)
  • Add LOG_LEVEL env var support with validation and fallback to 'info'
  • Add correlation ID middleware (extracts X-Request-Id from Traefik or generates UUID)
  • Configure PostgreSQL logging env vars (POSTGRES_LOG_STATEMENT, POSTGRES_LOG_MIN_DURATION)
  • Configure Redis loglevel via command args

Fixes #82

Test Plan

  • npm run type-check passes
  • npm run lint passes (pre-existing warnings only)
  • Pino JSON output confirmed in test logs
  • API wrapper maintains backward compatibility (no changes needed to importing files)

Generated with Claude Code

## Summary - Replace Winston with Pino using API-compatible wrapper (79 importing files require NO changes) - Add LOG_LEVEL env var support with validation and fallback to 'info' - Add correlation ID middleware (extracts X-Request-Id from Traefik or generates UUID) - Configure PostgreSQL logging env vars (POSTGRES_LOG_STATEMENT, POSTGRES_LOG_MIN_DURATION) - Configure Redis loglevel via command args Fixes #82 ## Test Plan - [x] `npm run type-check` passes - [x] `npm run lint` passes (pre-existing warnings only) - [x] Pino JSON output confirmed in test logs - [x] API wrapper maintains backward compatibility (no changes needed to importing files) Generated with Claude Code
egullickson added 1 commit 2026-02-04 02:04:45 +00:00
feat: migrate backend logging from Winston to Pino with correlation IDs (refs #82)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 4m3s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 32s
Deploy to Staging / Verify Staging (pull_request) Successful in 2m29s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
2a34f8225e
- Replace Winston with Pino using API-compatible wrapper
- Add LOG_LEVEL env var support with validation and fallback
- Add correlation ID middleware (X-Request-Id from Traefik or UUID)
- Configure PostgreSQL logging env vars (POSTGRES_LOG_STATEMENT, POSTGRES_LOG_MIN_DURATION)
- Configure Redis loglevel via command args

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
egullickson added 1 commit 2026-02-04 02:11:47 +00:00
chore: align production verify loop with staging (refs #82)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 30s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 32s
Deploy to Staging / Verify Staging (pull_request) Successful in 2m19s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
6c4d8e47f9
Add Docker healthcheck loop to production verify-prod job matching
staging's 24 attempts x 10 seconds = 4 minutes max wait for backend
migrations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
egullickson merged commit 58eec46f72 into main 2026-02-04 02:24:33 +00:00
egullickson deleted branch issue-82-pino-migration 2026-02-04 02:24:33 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: egullickson/motovaultpro#91