proemergotech / correlate-php-laravel
Middleware to handle incoming correlation id header for Laravel and Lumen
Installs: 3 186
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 4
Forks: 1
Open Issues: 0
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-11-10 03:20:48 UTC
README
Overview
It's very difficult to track a request across the system when we are working with microservices. We came out with a solution for that. We generate a unique version 4 uuid for every request and every service passes this id via request headers to other services. We call this correlation ID.
Packages
- proemergotech/correlate-php-laravel
- Middleware for Laravel and Lumen frameworks.
- proemergotech/correlate-php-psr-7
- Middleware for any PSR-7 compatible frameworks like Slim Framework.
- proemergotech/correlate-php-monolog
- Monolog processor for correlate middlewares (you don't have to use this directly).
- proemergotech/correlate-php-guzzle
- Guzzle middleware to add correlation id to every requests.
- proemergotech/correlate-php-core
- Common package for correlate id middlewares to provide consistent header naming accross projects.
Installation
- Install via composer
composer require proemergotech/correlate-php-laravel
Setup for Laravel 5
Add the ProEmergotech\Correlate\Laravel\LaravelCorrelateMiddleware
middleware to the $middleware property of your app/Http/Kernel.php class.
Setup for Lumen 5
Add service provider to bootstrap/app.php in your Lumen project.
// bootstrap/app.php $app->register(\ProEmergotech\Correlate\Laravel\LaravelCorrelateServiceProvider::class);
Usage
This middleware automatically adds correlation id (coming from request header) to every log message. There are some macros added to the request object if you want to work with correlation id.
Using macros via request object:
if ($request->hasCorrelationId()) { $cid = $request->getCorrelationId(); } // or if you can change the ID $request->setCorrelationId(\ProEmergotech\Correlate\Correlate::id());
Contributing
See CONTRIBUTING.md
file.
Credits
This package was developed by Soma Szélpál at Pro Emergotech Ltd..
Additional author is Miklós Boros at Pro Emergotech Ltd..
License
This project is released under the MIT License.