Если вы хотите что-то построить самостоятельно, в Laravel отличное решение для промежуточного программного обеспечения.Этот тип промежуточного программного обеспечения выполняется после выполнения всей тяжелой работы (обработка запросов и ответов и т. Д.).
Добавление новой модели для хранения ваших LogEntries. Создание миграций и т. Д. Это основа LaravelЯ не буду объяснять ...: -)
Затем, чтобы начать с промежуточного программного обеспечения, создайте класс промежуточного программного обеспечения следующим образом:
$ php artisan make:middleware RequestLoggerMiddleware
Добавьте тело в новый класс:
class RequestLoggerMiddleware
{
public function handle($request, Closure $next)
{
return $next($request);
}
public function terminate(Request $request, Response $response)
{
$logEntry = new LogEntry();
$logEntry->attribute = VALUE;
$logEntry->attribute = VALUE;
$logEntry->attribute = VALUE;
$logEntry->attribute = VALUE;
$logEntry->save();
}
}
Добавьте промежуточное ПО в свой Kernel.php:
protected $middleware = [
...
RequestLoggerMiddleware::class,
...
];
В Промежуточном программном обеспечении вы можете добавить тонны вещей к вашим атрибутам.Введенные ответ и запрос содержат много информации:
время начала запроса >> дата ('Гм H: i: s', LARAVEL_START)
URL >> request-> fullUrl ()
запрос HTTP-метода >> $ request-> method ()
тело запроса >> json_decode ($ request-> getContent (), true);
заголовок запроса >> $ request-> header ();
ip >> $ request-> ip ()
код состояния >> $ response-> getStatusCode ()
тело запроса>> json_decode ($ response-> getContent (), true);
Кстати, это ПРИМЕР структуры кода, которую вы можете использовать, чтобы дать вам базовое представление о решении.Очевидно, вам нужно добавить правильные атрибуты в модель, миграцию и т. Д. Но я уверен, что вы можете обработать эту часть ...
И: внедрить Модель в конструктор вместо приведенного выше примера ...: -)