[LARAVEL] LOG URL EXECUTION TIME - fourslickz/notes GitHub Wiki

Create the Middleware:

php artisan make:middleware LogExecutionTime

Edit app/Http/Middleware/LogExecutionTime.php:

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;

class LogExecutionTime
{
    public function handle(Request $request, Closure $next)
    {
        $start = microtime(true);
        $response = $next($request);
        $end = microtime(true);
        
        $executionTime = ($end - $start) * 1000; // Convert to ms

        Log::info("Endpoint: " . $request->path() . " | Time: " . round($executionTime, 2) . " ms");

        return $response;
    }
}

Register Middleware in app/Http/Kernel.php:

protected $middleware = [
    // other middleware...
    \App\Http\Middleware\LogExecutionTime::class,
];