<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
benycode / slim-request-logger-middleware example snippets
use BenyCode\Slim\RequestLoggerMiddleware\RequestLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\ResponseLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\RequestLog\FileSystemLog;
return [
......
LoggerFactory::class => function (ContainerInterface $container) {
return new ... ; // use PSR-3 logger
},
RequestLogMiddleware::class => function (ContainerInterface $container) {
$logger = $container->get(LoggerFactory::class)
->addFileHandler('requests.log')
->createLogger();
$requestLog = new FileSystemLog($logger);
return new RequestLogMiddleware($requestLog);
},
ResponseLogMiddleware::class => function (ContainerInterface $container) {
$logger = $container->get(LoggerFactory::class)
->addFileHandler('requests.log')
->createLogger();
$requestLog = new FileSystemLog($logger);
return new ResponseLogMiddleware($requestLog);
},
];
use BenyCode\Slim\RequestLoggerMiddleware\RequestLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\ResponseLogMiddleware;
$app
->add(ResponseLogMiddleware::class)
->add(RequestLogMiddleware::class)
->add(RKA\Middleware\IpAddress::class)
;
use BenyCode\Slim\RequestLoggerMiddleware\RequestLog;
final class AnyLogClass implements RequestLog
{
public function __construct(
...
) {
}
public function logRequest(string $requestId, ServerRequestInterface $request): void
{
$requestData = RequestTransformer::transformRequestData($request); // you can use the own request data transformer
... // do something with the request log data
}
public function logResponse(ServerRequestInterface $request, ResponseInterface $response): void
{
$responseData = ResponseTransformer::transformResponsetData($request, $response); // you can use the own response data transformer
... // do something with the response log data
}
}
use BenyCode\Slim\RequestLoggerMiddleware\RequestLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\ResponseLogMiddleware;
use BenyCode\Slim\RequestLoggerMiddleware\RequestLog\FileSystemLog;
use ....\AnyLogClass;
return [
......
RequestLogMiddleware::class => function (ContainerInterface $container) {
$requestLog = new AnyLogClass(....);
return new RequestLogMiddleware($requestLog);
},
ResponseLogMiddleware::class => function (ContainerInterface $container) {
$requestLog = new AnyLogClass(....);
return new ResponseLogMiddleware($requestLog);
},
];
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.