miquido / request-data-collector-guzzle
用于通过收集 Guzzle 请求来扩展请求数据收集器的库。
v2.3.0
2021-04-14 12:27 UTC
Requires
- php: ^7.3|^8.0
- guzzlehttp/guzzle: ^6.0|^7.0
- miquido/request-data-collector: ^2.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18.5
- jangregor/phpstan-prophecy: ^0.8.1
- phpspec/prophecy-phpunit: ^2.0.1
- phpstan/phpstan: ^0.12.83
- phpstan/phpstan-phpunit: ^0.12.18
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.2
Suggests
- miquido/request-data-collector-elasticsearch: Allows collecting Elasticsearch requests
README
此包是请求数据收集器的扩展。允许收集 Guzzle 请求。
设置
GuzzleCollector
此收集器被用来收集执行 Guzzle 请求的相关数据。
'guzzle' => [ 'driver' => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::class, 'decorate' => [ 'with' => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\Guzzle6ClientDecorator::class, 'abstracts' => [ abstract => [ 'type' => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_*, 'create' => boolean, 'collect' => [ \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_BY, \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_VIA, \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_METHOD, \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_URI, \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_HEADERS, \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_OPTIONS, ], ], // ... ], ], ],
decorate.with
定义了负责收集请求的 Guzzle 客户端装饰器类。
decorate.abstracts
定义了容器中注册的 Guzzle 客户端列表。所有抽象都将使用 decorate.with
中定义的类进行装饰。
每个抽象都是以以下方式定义的
abstract => [ 'type' => \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_*, 'create' => boolean, 'collect' => [ // \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_* ], ],
abstract 是在容器中注册实例的名称(例如 my-guzzle-client
或 \GuzzleHttp\ClientInterface::class
)。
type 定义了抽象的类型(请参阅 \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::TYPE_*
常量)。
collect 定义了应该记录的请求信息列表(请参阅 \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_*
常量)。如果未指定,则使用所有信息。始终可用 times
信息。
此外,您可以包括和排除头部信息(不区分大小写)。请记住,包含具有优先级高于排除。
abstract => [ // ... 'collect' => [ \Miquido\RequestDataCollector\Collectors\GuzzleCollector\GuzzleCollector::INFO_HEADERS => [ // We don't want Authorization header to be present in logs 'excludes' => [ 'Authorization' ], // From all headers that has been sent, only those are interesting for us 'includes' => [ 'Accept', 'content-type', ], ], ], ],
当 create 等于 true
时,定义即使在容器中不存在也添加实例到容器中。
关于
该项目由 Miquido 制作:https://www.miquido.com