mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-30 09:53:58 +00:00
api response time logging
This commit is contained in:
@@ -45,6 +45,7 @@ class Kernel extends HttpKernel
|
||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
\App\Http\Middleware\ApiResponseTimeLog::class,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class ApiResponseTimeLog
|
||||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
// Process the request first
|
||||
$response = $next($request);
|
||||
|
||||
// Get route information
|
||||
$route = $request->route();
|
||||
$routeName = $route ? $route->getName() : 'undefined';
|
||||
$uri = $request->getPathInfo();
|
||||
|
||||
$startTime = microtime(true); // Start time
|
||||
|
||||
$response = $next($request); // Handle the request
|
||||
|
||||
$endTime = microtime(true); // End time
|
||||
$responseTime = $endTime - $startTime; // Calculate the response time
|
||||
|
||||
Log::channel('apiResponseTimeLog')->info("\nRequest to route: {$uri} \nRoute name: {$routeName} \nTime Taken: " . number_format($responseTime * 1000, 2) . "ms\n");
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@@ -104,6 +104,12 @@ return [
|
||||
'path' => storage_path('logs/regenerateInvoice.log'),
|
||||
'level' => 'info',
|
||||
],
|
||||
|
||||
'apiResponseTimeLog' => [
|
||||
'driver' => 'single',
|
||||
'path' => storage_path('logs/apiResponseTime.log'),
|
||||
'level' => 'info',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user