Skip to content

feat: emit flat structured logging contract fields - #22

Merged
ramioooz merged 1 commit into
mainfrom
feature/91-flat-structured-logging
Sep 6, 2026
Merged

ramioooz merged 1 commit into
mainfrom
feature/91-flat-structured-logging

Conversation

@ramioooz

@ramioooz ramioooz commented Sep 6, 2026 •

Copy link
Copy Markdown
Member

Parent: digital-bank-java/.github#91

Summary

  • Emit the required flat structured fields: timestamp, level, service, environment, correlation_id, trace_id, logger, and message.
  • Preserve Spring Boot ECS output additively, including ECS service and tracing members and existing redaction behavior.
  • Use Spring Boot structured JSON rename and customizer support; no collector-only projection and no transaction-service changes.
  • SIT-only rollout; no AWS, UAT, or PROD changes.

Verification

Validation: ./mvnw --batch-mode --no-transfer-progress verify; BUILD SUCCESS; 57 tests.

SIT verification

  • Config Server was temporarily pointed at this branch, rendered application-sit.yml, and returned logging.structured.format.console=ecs; the live Config Server and customer deployment were restored afterward.
  • A restarted SIT customer pod emitted the flat fields and preserved ECS fields in application JSON, including timestamp, level, service, environment, correlation_id, trace_id, logger, message, ecs_service, nested log, and ecs.version.
  • OpenSearch currently receives this Docker Desktop path as an envelope with the application JSON under structured.log, so field-capability queries do not expose the inner service fields yet. This is the existing Fluent Bit and infra ingestion limitation; this change deliberately keeps the service-emitted contract authoritative rather than replacing it with collector projection.

@ramioooz
ramioooz merged commit 44dc55f into main Sep 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant