A Symfony bundle that provides an easy way to manage a Correlation ID across your application.
- Adds a Correlation ID to your application logs
- Propagates the Correlation ID to other applications via HTTP headers
- Exposes the Correlation ID in the response headers
- Automatically reuses the Correlation ID from incoming requests when present
- Generates a new Correlation ID when none is provided
composer require benjamin-rqt/correlation-idBy default, the Correlation ID header name is X-Correlation-ID.
You can override it if needed.
-
header_name– The HTTP header name used for the Correlation ID.
config/packages/correlation_id.yaml:
correlation_id:
header_name: 'X-Correlation-ID'- If a Correlation ID is present in the incoming request headers, it will be reused.
- Otherwise, a new Correlation ID will be generated and used for the entire request lifecycle.
- The Correlation ID is always added to the response headers.
This bundle provides a Messenger middleware that automatically attaches the Correlation ID to dispatched messages.
To enable it, simply add the middleware to your Messenger bus configuration.
framework:
messenger:
buses:
messenger.bus.default:
middleware:
- correlation_id.middlewareThis ensures that:
- The Correlation ID from the HTTP request is propagated to Messenger messages
- The same Correlation ID is available when handling messages asynchronously