Логирование запросов в FireBug
Рубрика: Перевод Cookbook
25 Дек. 2009
В процессе разработки приложения, очень часто требуется следить за запросами которые формирует фреймворк.В этом нам поможет FireBug, незаменимый инструмент при web разработке (среди юзеров firefox-a естественно)
Я обнаружил, что это было достаточно сложно для версии 1.0, но начиная с 1.1 — я рад сообщить, что всё стало намного легче. Хотя новый CWebLogRoute , по умолчанию выводит информацию после тега «/html», иногда портит общую разметку всей страницы в целом. Сегодня мы разберем как логировать данные прямо в консоль FireBug!
Лично мне удобно выполнять это через index.php файл, т.к. я могу легко использовать логирование для заданных доменов.
Пример index.php файла:
<?php
// change the following paths if necessary
$yii=dirname(dirname(__FILE__)).'/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
// Логирование работает для localhost-а
if ($_SERVER['HTTP_HOST'] == 'localhost') {
defined('YII_DEBUG') or define('YII_DEBUG',true);
$config['components']['log']['routes'][] = array(
'class'=>'CWebLogRoute',
'categories'=>'system.db.CDbCommand',
'showInFireBug'=>true,
);
$config['components']['db']['enableProfiling'] = true;
$config['components']['db']['enableParamLogging'] = true;
}
require_once($yii);
Yii::createWebApplication($config)->run();
Прим. Переводчика: Если я хочу использовать логирование запросов не только для конкретного домена, я всё делаю сразу в конфиге.
В конфиге:
'preload'=>array('log'),
'components'=>array(
...
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CWebLogRoute',
'levels'=>'trace',
'showInFireBug'=>true,
),
),
),
'db'=>array(
...
'enableProfiling'=>true,
),
),
Теперь запустите ваш сайт вместе с включенным FireBug-ом и перейдите во вкладку «Консоль»!
- Перевод статьи "SQL Logging and Profiling in FireBug (Yii 1.1)"
Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
- Разговор сегодня пойдет про SwiftMailer. Это удобный инструмент для отправки почты из php скрипта. Вы сможете:
очень легко и ... "Подключаем SwiftMailer к Yii"
- Сегодня в пять утра пришлось ручками (через Zend) менять ссылки типа "test.html" на "http://ttt.ru/super_test.php" в примерно 2000 html файликах. ... "Вопрос: Замена одинаковых строчек в куче файлов"
- Снова я к своим читателям обращаюсь с глупым вопросом, но что делать, другой аудитории я не доверяю :) На ... "Вопрос: Закрыть yii через htaccess"

[adm] zolter
Было сказано: Пятница, 25 Декабрь 2009
Со статьёй по биллингу немного не успеваю, поэтому на закуску пока перевод кидаю.

gencha
Было сказано: Пятница, 25 Декабрь 2009
За статью спасибо! :) А биллинг ждем. Очень интересует backend, надеюсь это будет не очредной а-ля Yii blog! ;)

[guest] Bethrezen
Было сказано: Пятница, 25 Декабрь 2009
В индекс это пихали потому что фаербаг нужен только в локалхосте

[adm] zolter
Было сказано: Пятница, 25 Декабрь 2009
Ну это понятно) Но можно использовать просто два конфига как это делают. 1 для разработки, 2й для рабочего приложения. Поэтому не вижу смысл засорять index

SpiLLeR
Было сказано: Вторник, 29 Декабрь 2009
Тоже использую два конфига и устанавливаю YII_DEBUG в нужное положение в зависимости от того локально сайт лежит или нет.

[guest] Алексей
Было сказано: Среда, 29 Июнь 2011
Можно делать так и не разводить мусор... Теперь когда нужен лог, делаем запрос http://example.com/site/index?fb и смотрим в консоль
'enabled' => YII_DEBUG,
'showInFireBug' => isset($_GET['fb']),

[guest] Алексей
Было сказано: Среда, 29 Июнь 2011
Забыл добавить похожий код для занесения запросов в лог...
'enableProfiling' => YII_DEBUG,
'enableParamLogging' => YII_DEBUG,


