Intereting Posts
POST / Redirect / GET с обработкой ошибок Как перевести строки в JS Вставьте 0 или 1 в MySQL на основе значения флажка Переименуйте папку «web» в Symfony 1.4 Примечание. Неинициализированное смещение строки в PHP Как заставить FormRequest возвратить json в Laravel 5.1? PHP SQL SELECT, где элемент поиска с несколькими словами Отправка уведомлений по электронной почте для событий через API календаря Google Как ранжировать значения массива с повторяющимися значениями и пропускать некоторые позиции, если есть связь? Подключиться к БД с классом PHP не работает, когда пытаешься получить результаты Google OAuth2 (401) Недействительные учетные данные Установите значение по умолчанию для раскрывающегося списка с выбранным последним значением Как найти день недели с даты с помощью PHP? Как получить размер изображения из базы 64 строки в php Как перейти на другую страницу при выполнении PHP-скрипта?

Может ли Laravel 4 регистрироваться в базе данных MySQL?

Если да, то как это можно сделать? По умолчанию L4 записывает в текстовый файл. Я замечаю, что Monolog может записывать в базу данных на своей странице github .

Да, вы могли бы создать слушателя для регистрации всего в route.php

Event::listen('laravel.log', function($type,$message) { $log = new Log(); $log->message = $message; $log->type = $type; $log->update; }); 

Или, альтернативно, если вы хотите только регистрировать ошибки 400 и 500 Larvavel, в файле Routes.php есть событие журнала, которое слушает ошибки 404 и 500, вы можете написать свой собственный код в этом прослушивателе событий. Предположим, что у вас есть модель с именем Log,

 Event::listen('404', function() { $error = "404: " . URL::full(); Log::error($error); $update = new Log(); $update->error = $error; $update->update; return Response::error('404'); }); Event::listen('500', function() { Log::error($error); $update = new Log(); $update->error = $error; $update->update; return Response::error('500'); }); 

Как вы можете видеть, читаете ли вы заголовок, Monolog изначально поддерживает запись в Redis, MongoDB и CouchDB. Эти трое все поддерживают довольно громкие записи (и очень тяжелые записи в случае Redis). MySQL не существует, поскольку регистрация в MySQL на самом деле не самая лучшая идея в мире.

Если вы действительно хотите это сделать, вы можете проверить документы на создание собственного обработчика, в котором объясняется, как создавать и использовать обработчик PDO для записи в базу данных SQL: https://github.com/Seldaek/monolog/blob /master/doc/extending.md – Я все еще думаю, что это плохая идея, но, возможно, это оправдано.

Поскольку у меня был такой же спрос в моем проекте, я создал обработчик для Монолога для записи вывода журнала в MySQL. Он выпущен под лицензией MIT и доступен через композитора или непосредственно на GitHub . Можно попробовать.

В laravel 5 теперь он illuminate.log

Теперь это будет похоже на

 Event::listen('illuminate.log', function($type,$message) { .... });