sbsedv / request-id-bundle
A Symfony bundle that adds a unique Request-ID.
Installs: 322
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^8.2
- symfony/framework-bundle: ^6.3 || ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.4
- phpstan/phpstan-symfony: ^1.1
- symfony/http-client: ^6.3 || ^7.0
- symfony/monolog-bundle: ^3.6
- symfony/twig-bundle: ^6.3 || ^7.0
- symfony/uid: ^6.3 || ^7.0
- twig/twig: ^3.3
README
sbsedv/request-id-bundle
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.
Twig Integration
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"
Error Renderer
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
Monolog Integration
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