proemergotech / correlate-php-laravel
处理 Laravel 和 Lumen 的入站关联 ID 头部的中间件
1.0.1
2018-02-02 11:18 UTC
Requires
- illuminate/http: ^5.4
- monolog/monolog: 1.*
- proemergotech/correlate-php-core: dev-master
- proemergotech/correlate-php-monolog: dev-master
- psr/log: 1.*
Requires (Dev)
- fzaninotto/faker: ~1.4
- mockery/mockery: ~0.9
- phpunit/phpunit: ^5.0
- squizlabs/php_codesniffer: ^2.8
This package is not auto-updated.
Last update: 2024-09-15 02:37:51 UTC
README
概述
当我们与微服务一起工作时,很难在整个系统中跟踪请求。我们为此找到了一个解决方案。我们为每个请求和每个服务生成一个唯一的版本 4 uuid,并将此 ID 通过请求头传递给其他服务。我们称之为 关联 ID。
软件包
- proemergotech/correlate-php-laravel
- Laravel 和 Lumen 框架的中间件。
- proemergotech/correlate-php-psr-7
- 适用于任何 PSR-7 兼容框架(如 Slim 框架)的中间件。
- proemergotech/correlate-php-monolog
- 为关联中间件提供的 Monolog 处理器(您不需要直接使用此功能)。
- proemergotech/correlate-php-guzzle
- Guzzle 中间件,用于将关联 ID 添加到每个请求中。
- proemergotech/correlate-php-core
- 为关联 ID 中间件提供一致的头命名方式的通用软件包。
安装
- 通过 composer 安装
composer require proemergotech/correlate-php-laravel
Laravel 5 的设置
将 ProEmergotech\Correlate\Laravel\LaravelCorrelateMiddleware
中间件添加到您的 app/Http/Kernel.php 类的 $middleware 属性中。
Lumen 5 的设置
将服务提供者添加到您的 Lumen 项目的 bootstrap/app.php 中。
// bootstrap/app.php $app->register(\ProEmergotech\Correlate\Laravel\LaravelCorrelateServiceProvider::class);
用法
此中间件自动将关联 ID(来自请求头)添加到每个日志消息中。如果您想使用关联 ID,请求对象中已添加一些宏。
通过请求对象使用宏
if ($request->hasCorrelationId()) { $cid = $request->getCorrelationId(); } // or if you can change the ID $request->setCorrelationId(\ProEmergotech\Correlate\Correlate::id());
贡献
查看 CONTRIBUTING.md
文件。
致谢
本软件包由 Soma Szélpál 在 Pro Emergotech Ltd. 开发。
另一位作者为 Miklós Boros,在 Pro Emergotech Ltd.。
许可
本项目根据 MIT 许可证 发布。