mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-26 07:53:58 +00:00
Merge branch 'api-response-time-logging' of gitlab.com:CIEFWorldwideSdnBhd/exchange-2.0 into development
# Conflicts: # app/Http/Kernel.php
This commit is contained in:
@@ -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' => [
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class WebResponseTimeLog
|
||||
{
|
||||
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('webResponseTimeLog')->info("\nRequest to route: {$uri} \nRoute name: {$routeName} \nTime Taken: " . number_format($responseTime * 1000, 2) . "ms\n");
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@@ -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',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user