Я пытаюсь регистрировать ошибки из моего веб-приложения codeigniter, и я думаю, что сообщения, которые записываются в файл, усекаются. Я говорю это, потому что всякий раз, когда ошибка отображается на экране, я получаю имя файла, где произошла ошибка, тогда как когда я проверяю журналы ошибок, он говорит только:
Ошибка запроса: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' по строке 24
- Codeigniter - маршрутизация на контроллер, если он существует, если не использовать dafault
- Codeigniter: Столбец 'id' в порядке заказа неоднозначен
- объединение одной и той же таблицы дважды для разных столбцов
- Как получить детей и идентификатор в jQuery Nestable плагин после перетаскивания элемента и обновления в базе данных?
- Как загрузить phpseclib в codeigniter
- IP-адрес отображается в виде действия с CodeIgniter http: // :: 1 / codeigniter / в html sourcecode
Есть ли способ, чтобы журнал ошибок возвращал местоположение файла ошибки?
Нет, в настоящее время в CodeIgniter нет встроенного способа сделать это.
Что вы можете сделать, так это расширить основной класс CI_Log
, переопределить его write_log()
и использовать debug_backtrace()
чтобы получить соответствующее имя файла и добавить его в сообщение.
// application / core / MY_Log.php класс MY_Log расширяет CI_Log { public function write_log ($ level, $ msg) { foreach (debug_backtrace () как $ call) { // Как-то найти соответствующий звонок здесь ... if (! (/ * условие для игнорирования вызовов обработки ошибок * /)) { ломать; } $ msg = '['. $ call ['file']. ']'. $ msg; ломать; } return parent :: write_log ($ level, $ msg); } }