PHP code example of juliendufresne / inter-app-request-identifier

1. Go to this page and download the library: Download juliendufresne/inter-app-request-identifier library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

juliendufresne / inter-app-request-identifier example snippets


use JulienDufresne\RequestId\Factory\Generator\RamseyUuidGenerator;
use JulienDufresne\RequestId\Factory\RequestIdFromConsoleFactory;
use JulienDufresne\RequestId\Factory\RequestIdFromRequestFactory;

$generator = new RamseyUuidGenerator();

$factory = RequestIdFromConsoleFactory($generator);
$requestIdentifier = $factory->create();

// or, if the current process is coming from the web

$factory = new RequestIdFromRequestFactory($generator, 'X-Root-Request-Id', 'X-Parent-Request-Id');
// will search for 'X-Root-Request-Id' and 'X-Parent-Request-Id' in $_SERVER array.
// Be careful that $_SERVEr prefix headers with HTTP_
// You might want to set headers to HTTP_X-Root-Request-Id
$requestIdentifier = $factory->create($_SERVER);

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use JulienDufresne\RequestId\Guzzle\RequestIdMiddleware;

$requestIdMiddleware = new RequestIdMiddleware(/* $requestIdentifier */);

$stack = HandlerStack::create();
$stack->push(Middleware::mapRequest($requestIdMiddleware));

$client = new Client(['handler' => $stack]);

use JulienDufresne\RequestId\Guzzle\ClientFactory;
use JulienDufresne\RequestId\Guzzle\RequestIdMiddleware;

$requestIdMiddleware = new RequestIdMiddleware(/* $requestIdentifier */);

$factory = new ClientFactory();
$client = $factory->create();

use JulienDufresne\RequestId\Guzzle\RequestIdMiddleware;

$requestIdMiddleware = new RequestIdMiddleware(
    /* $requestIdentifier */,
    'X-Root-Request-Id',
    'X-Parent-Request-Id'
);

use JulienDufresne\RequestId\Monolog\RequestIdentifierProcessor;
use Monolog\Logger;

$processor = new RequestIdentifierProcessor(/* $requestIdentifier */);

$logger = new Logger('channel-name');
$logger->pushProcessor([$processor]);

$logger->addInfo('message');

use JulienDufresne\RequestId\Monolog\RequestIdentifierProcessor;

$processor = new RequestIdentifierProcessor(
    /* $requestIdentifier */,
    'request_id',
    'current',
    'root',
    'parent'
);