freshcells/guzzle-message-anonymizer-formatter
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 }
freshcells/guzzle-message-anonymizer-formatter 适用场景与选型建议
freshcells/guzzle-message-anonymizer-formatter 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18.06k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 06 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 freshcells/guzzle-message-anonymizer-formatter 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 freshcells/guzzle-message-anonymizer-formatter 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 18.06k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-06-18