freshcells/guzzle-message-anonymizer-formatter
最新稳定版本:2.0.0
Composer 安装命令:
composer require freshcells/guzzle-message-anonymizer-formatter
包简介
Anonymize Request data from guzzle before logging
README 文档
README
Anonymize or truncate parts of json or xml payloads and request headers before logging with a guzzle middleware.
For data protection you might not want to log personal data, like names, addresses etc in your requests.
Usage
Example usage for Json Payloads:
... $formatter = new GuzzleMessageJsonAnonymizerFormatter( ['PersonalData'], $substitute = '*****', AbstractAnonymizerFormatter::DEBUG, ['Authorization' => '*****'] ); $loggerMiddleware = Middleware::log($logger, $formatter); $stack->push($loggerMiddleware); $config = [ ... 'handler' => $stack, ]; $client = new Client($config); This will log:
<<<<<<<< HTTP/1.1 200 OK Date: Thu, 18 Jun 2020 10:04:21 GMT Content-Type: application/json Authorization: ***** ... { ... "Payload": { "Foo": "Bar", ... "PersonalData": "*****" }, ... } Usage Symfony
Declare the Formatter service:
Freshcells\GuzzleMessageAnonymizerFormatter\GuzzleMessageXmlAnonymizerFormatter: arguments: $elements: - 'none:FirstName' - 'none:LastName' $attributes: - 'none:Customer[@Age]' $namespaces: none: 'http://namespace.de/middleware/payment/' $truncateElements VeryLongText: 200 Override existing message formatter of a logger middleware:
csa_guzzle.logger.message_formatter: alias: 'Freshcells\GuzzleMessageAnonymizerFormatter\GuzzleMessageXMLAnonymizerFormatter' Or declare a dedicated anonymizer_logger middleware:
guzzle.middleware.anonymizer_logger: class: Closure factory: ['GuzzleHttp\Middleware', log] arguments: ['@monolog.logger', '@Freshcells\GuzzleMessageAnonymizerFormatter\GuzzleMessageXmlAnonymizerFormatter', 'info'] tags: - { name: csa_guzzle.middleware, alias: anonymizer_logger } 统计信息
- 总下载量: 16.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04