A Symfony bundle that adds a unique Request-ID.
In the configuration examples shown below, the default values are used.
The generic configuration is as follows:
# config/packages/sbsedv_request_id.yaml
sbsedv_request_id:
generator: "SBSEDV\Bundle\RequestIdBundle\Generator\UuidRequestIdGenerator"
# generator: "SBSEDV\Bundle\RequestIdBundle\Generator\RequestIdGenerator"
# generator: 'your_custom_service_id' (must implement RequestIdGeneratorInterface)
outgoing_http_header: "x-request-id" # http header that will be added
# outgoing_http_header: false # disables the header creation
incoming_http_header: false # disabled
# incoming_http_header: "x-request-id" # request header that contains the Request-ID to use
The incoming http-header is only used when the SBSEDV\Bundle\RequestIdBundle\TrustStrategy\TrustStrategyInterface
service trusts the incoming request.
By default the PrivateIpTrustStrategy is registered.
If your application has the symfony/twig-bundle installed, the request_id
twig function is registered.
{# templates/example.html.twig #}
<p>Request-ID: {{ request_id() }}</p>
You can customize the registered twig function name via:
# config/packages/sbsedv_request_id.yaml
sbsedv_request_id:
twig_function_name: "request_id"
By default this bundle decorates the error_renderer
service and inserts the current request id before the </body>
tag.
# config/packages/sbsedv_request_id.yaml
sbsedv_request_id:
error_renderer_decorator: false # enabled by default
If your application has the symfony/monolog-bundle installed, a log processor is registered that adds the request id to each record.
# config/packages/sbsedv_request_id.yaml
sbsedv_request_id:
monolog_processor:
key: "request_id" # Key to which the request id will be set
# monolog_processor: false # disables the processor