request-tracing / request-tracing-bundle
Symfony 请求跟踪包
0.2.0
2023-10-12 19:44 UTC
Requires
- php: >=8.1
- monolog/monolog: ^3.0
- symfony/framework-bundle: ^5.4||^6.3
- symfony/yaml: ^5.4||^6.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- guzzlehttp/guzzle: ^7.0
- matthiasnoback/symfony-config-test: ^4.3
- matthiasnoback/symfony-dependency-injection-test: ^4.3
- phpstan/phpstan: ^1.5
- phpstan/phpstan-strict-rules: ^1.5
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^10.4
- psr/http-message: ^2.0
- symfony/browser-kit: ^5.4||^6.3
- symfony/monolog-bundle: ^3.7
This package is auto-updated.
Last update: 2024-09-19 12:28:10 UTC
README
Symfony 请求跟踪包。
此包包含一个 Monolog 处理器和一个 Guzzle 中间件,用于记录和传播请求 ID。
安装
composer require request-tracing/request-tracing-bundle
如果您使用 Symfony Flex,则一切将自动完成。如果不使用,则应手动将此包添加到您的 config/bundles.php
文件中。
默认情况下,该包将查找名为 X-Request-Id
的 HTTP 请求头,并在存在的情况下使用其值。您可以使用以下配置来配置头名称
# config/packages/request_tracing.yaml request_tracing: header: my_custom_header_name
Monolog
此包将请求 ID 添加到使用 Monolog 创建的每个日志记录的上下文中。请确保首先安装 Monolog 包
composer require symfony/monolog-bundle
建议将 Monolog 格式化为 JSON 格式,以便在 Datadog 等工具中更容易处理日志。
# config/packages/monolog.yaml monolog: handlers: main: formatter: monolog.formatter.json
Guzzle
如果您在应用程序中使用 Guzzle HTTP 客户端,则可以使用此包提供的 Guzzle 中间件 将原始 HTTP 请求的请求 ID 作为头信息传递给后续的 HTTP 请求。这样,您在分析(访问)日志时将能够关联 HTTP 请求。
中间件可通过其 FQCN 在 依赖注入容器 中使用。以下是一个服务配置示例
services: GuzzleHttp\Client: arguments: - { handler: '@GuzzleHttp\HandlerStack' } GuzzleHttp\HandlerStack: factory: ['GuzzleHttp\HandlerStack', 'create'] calls: - push: ['@RequestTracing\RequestTracingBundle\GuzzleHttp\RequestIdMiddleware']