Логирование каждого написанного метода через 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']);
});
Сработает ли такой вариант?????????