diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 20741c52..42e1a43e 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -47,12 +47,14 @@ class Kernel extends HttpKernel VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, // \App\Http\Middleware\WebRouteLogs::class, + \App\Http\Middleware\WebResponseTimeLog::class, ], 'api' => [ 'throttle:300,1', \Illuminate\Routing\Middleware\SubstituteBindings::class, // \App\Http\Middleware\ApiRouteLogs::class, + \App\Http\Middleware\ApiResponseTimeLog::class, ], 'apipub' => [ diff --git a/app/Http/Middleware/ApiResponseTimeLog.php b/app/Http/Middleware/ApiResponseTimeLog.php new file mode 100644 index 00000000..fe8e6c11 --- /dev/null +++ b/app/Http/Middleware/ApiResponseTimeLog.php @@ -0,0 +1,32 @@ +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; + } +} diff --git a/app/Http/Middleware/WebResponseTimeLog.php b/app/Http/Middleware/WebResponseTimeLog.php new file mode 100644 index 00000000..f28ce3aa --- /dev/null +++ b/app/Http/Middleware/WebResponseTimeLog.php @@ -0,0 +1,32 @@ +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('webResponseTimeLog')->info("\nRequest to route: {$uri} \nRoute name: {$routeName} \nTime Taken: " . number_format($responseTime * 1000, 2) . "ms\n"); + + return $response; + } +} diff --git a/config/logging.php b/config/logging.php index fb872693..e95c7d18 100644 --- a/config/logging.php +++ b/config/logging.php @@ -104,6 +104,18 @@ return [ 'path' => storage_path('logs/regenerateInvoice.log'), 'level' => 'info', ], + + 'apiResponseTimeLog' => [ + 'driver' => 'single', + 'path' => storage_path('logs/apiResponseTime.log'), + 'level' => 'info', + ], + + 'webResponseTimeLog' => [ + 'driver' => 'single', + 'path' => storage_path('logs/webResponseTimeLog.log'), + 'level' => 'info', + ], ], ];