Yii. Режим отладки и журналирование ошибок
Кому-то может показаться странным, зачем включать режим отладки, когда на сайте еще совсем ничего нет. Но я считаю, что лучше это сделать заранее, лишним не будет :)
http://www.simplecoding.org/yii-php-framework-sozdayom-igrovoj-sajt-chast-8-poisk-oshibok.html
http://yiiframework.ru/doc/cookbook/ru/core.development
Итак, за включение режима отладки отвечает константа
, необходимо этой константе присвоить значение
defined('YII_DEBUG') or define('YII_DEBUG',true);YII_DEBUG
в файле index.php
. Чтобы включить режим отладки, необходимо этой константе присвоить значение
true
:
Включение журналирования ошибок осуществляется в уже знакомом нам конфигурационном файле
protected/config/main.php.
Как гласит документация, фреймворк предлагает
нам несколько вариантов ведения лога: в файл, вывод на экран, запись
в базу данных, отправка по eMail.
За ведение лога отвечает компонент приложения
CLogRouter. Подключаем и настраиваем
его.
Для логирования запросов БД, необходимо добавить следующие строки (источник):
Если вы используете аддон FireBug, то Yii предоставляет возможность вывода логов в его консоль:
Для контроля за расходуемыми ресурсами, можно использовать такие параметры, как
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
…
array(
// отображается внизу страницы
'class'=>'CWebLogRoute',
'levels'=>'profile, trace, info',
),
),
),
Для логирования запросов БД, необходимо добавить следующие строки (источник):
'db'=>array(
…
// включаем профайлер
'enableProfiling'=>true,
// показываем значения параметров
'enableParamLogging' => true,
),
Если вы используете аддон FireBug, то Yii предоставляет возможность вывода логов в его консоль:
'log' => array(
'class' => 'CLogRouter',
'routes' => array(
array(
'class' => 'CWebLogRoute',
'categories' => 'application',
'showInFireBug' => true
),
),
),
Для контроля за расходуемыми ресурсами, можно использовать такие параметры, как
memoryUsage
- возвращает объём использованной памяти (в байтах) и executionTime
– время создания страницы: $memory = round(Yii::getLogger()->memoryUsage/1024/1024, 3);
$time = round(Yii::getLogger()->executionTime, 3);
echo '<br />Использовано памяти: '.$memory.' МБ<br />';
echo 'Время выполнения: '.$time.' с<br />';
Основные источники:http://www.simplecoding.org/yii-php-framework-sozdayom-igrovoj-sajt-chast-8-poisk-oshibok.html
http://yiiframework.ru/doc/cookbook/ru/core.development
Этот комментарий был удален автором.
ОтветитьУдалитьО выводе в FireBug не знал, спасибо !
ОтветитьУдалить