Yii. Режим отладки и журналирование ошибок

Кому-то может показаться странным, зачем включать режим отладки, когда на сайте еще совсем ничего нет. Но я считаю, что лучше это сделать заранее, лишним не будет :)
Итак, за включение режима отладки отвечает константа YII_DEBUG в файле index.php. Чтобы включить режим отладки
, необходимо этой константе присвоить значение true:
defined('YII_DEBUG') or define('YII_DEBUG',true);
Включение журналирования ошибок осуществляется в уже знакомом нам конфигурационном файле protected/config/main.php. Как гласит документация, фреймворк предлагает нам несколько вариантов ведения лога: в файл, вывод на экран, запись в базу данных, отправка по eMail. 
За ведение лога отвечает компонент приложения CLogRouter. Подключаем и настраиваем его.
  '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

Комментарии

Отправить комментарий

Популярные сообщения