Я пытаюсь регистрировать ошибки из моего веб-приложения 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);
}
}