proemergotech/correlate-php-laravel

处理 Laravel 和 Lumen 的入站关联 ID 头部的中间件

1.0.1 2018-02-02 11:18 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:37:51 UTC


README

概述

当我们与微服务一起工作时,很难在整个系统中跟踪请求。我们为此找到了一个解决方案。我们为每个请求和每个服务生成一个唯一的版本 4 uuid,并将此 ID 通过请求头传递给其他服务。我们称之为 关联 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álPro Emergotech Ltd. 开发。

另一位作者为 Miklós Boros,在 Pro Emergotech Ltd.

许可

本项目根据 MIT 许可证 发布。