Логирование каждого написанного метода через middleware

Задача в том, чтобы записать логи в бд, но это не суть, а суть в том, что каждый новый метод автоматом должен логироваться и в бд записывать, чтобы человек каждый раз в новом методе новый лог не писал, для записи в бд, как можно реализовать, чтобы автоматом в новом методе записывал в лог бд свой ресулт, может через middleware или как???

middleware CustomLog
use App\Models\Log;

public function handle(Request $request, Closure $next)
{
    $response = $next($request);
        $logs = [
            'URI' => $request->getUri(),
            'METHOD' => $request->getMethod(),
            'REQUEST_BODY' => $request->all(),
            'RESPONSE' => $response->getContent()
        ];

        $log = Log::create([
            'request' => json_encode($logs)
        ]);
        $logId = $log->id;
        Log::where('id', $logId)
            ->update([
                'response' => $logs,
            ]);
    return $response;
}

 Route::group([
"middleware" => "custom.log",
], function () {
Route::get('/test2', [AdminController::class, 'test2']);
Route::get('/test2', [AdminController::class, 'test2']);
  });

Сработает ли такой вариант?????????


Ответы (0 шт):