summaryrefslogtreecommitdiff
path: root/app/Http/Middleware/Logger.php
blob: ef707f4dc5ae6f57b605eaf183a8cb6190e21e76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\Log;

class Logger
{
    /**
     * Handle an incoming request.
     *
     * @param  \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response)  $next
     */
    public function handle(Request $request, Closure $next): Response
    {
        $response = $next($request);

        $logMessage = sprintf(
            "[%s] IP: %s | Method: %s | Route: %s | Status: %s | Agent: %s",
            now()->format('Y-m-d H:i:s'),
            $request->ip(),
            $request->method(),
            $request->path(),
            $response->getStatusCode(),
            $request->header('User-Agent')
        );
        
        Log::channel('requests')->info($logMessage);

        return $response;
    }
}