Skip to content

[LOW] No structured JSON logging format configured for production #136

Description

@kilodesodiq-arch

Engineering Gap

Pino logger in app/backend/src/logger/logger.service.ts uses default pretty-printing which is human-readable but not structured JSON. In production, structured JSON logs are needed for log aggregation systems (ELK, Datadog, CloudWatch).

Codebase Evidence

  • app/backend/src/logger/logger.service.ts line 31-37: Pino configured with pino() defaults — no JSON-only mode

Risk Profile

Logs not machine-parseable in production. Incompatible with log aggregation.

Remediation Strategy

Configure Pino to output JSON when NODE_ENV=production. Keep pretty-printing for development. Add log level from env var (already partially done).

Success Conditions

  • JSON output in production
  • Pretty-printing in development
  • Log level from env var

Change Surface

File: app/backend/src/logger/logger.service.ts

Security Review

Ensure log redaction (log-redaction.util.ts) applied before JSON output.

Completion Checklist

  • Implementation completed
  • Peer reviewed
  • Ready for merge

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions