Перемещаем панель дебага

Приветствуем!

Хотите что-то написать?

Нужно назвать себя.

Если вы пришли в первый раз,
то нужно зарегистрироваться.

Читайте нас в:

Блог на ya.ru
Блог на Деловом квартале
Блог на Twitter.om
Блог на Livejournal.com
11 января

Перемещаем панель дебага

Недавно, подыскивая новые интересные расширения для Firefox, наткнулся на одну интересную связку в виде плагина для Symfony и аддона для Firefox (точнее расширения аддона Firebug) - FireSymfony.

Ранее в блоге кросспост уже был, теперь более подробно.

Установка

Информацию по плагину для Symfony можно найти в репозитарии плагинов. Аддон для Firefox находится по этому адресу. Аддон пока ещё требует регистрации, но создатели обещали перевести в public.

Плагин устанавливается любым способом, которые вам более по душе:

  • Через SVN:
    svn checkout http://svn.symfony-project.com/plugins/firesymfonyPlugin
  • При помощи пакета PEAR
  • Прямая установка из PEAR:
    Для sf 1.1 и 1.2:
    php symfony plugin:install firesymfonyPlugin --release=1.0.8
    И для 1.0:
    php symfony plugin-install http://plugins.symfony-project.org/firesymfonyPlugin

Настройка

Для symfony 1.0:

Изменяем содержимое файла logging.yml:

all:
 enabled
: on
 level
:   debug
 rotate
:  off
 period
:  7
 history
: 10
 purge
:   on
 loggers
:
   sf_web_debug
:
     
class: fsWebDebugLogger
     param
:
       condition
: %SF_WEB_DEBUG%
   sf_file_debug
:
     
class: sfFileLogger
     param
:
       file
: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.log

Основное отличие от дефолтной конфигурации это строка

class: fsWebDebugLogger 

Для symfony 1.1:

Изменяем содержимое factories.yml:

all:
   logger
:
   
class: sfAggregateLogger
   param
:
     level
: debug
     loggers
:
       sf_web_debug
:
         
class: sfWebDebugLogger
         param
:
           level
: debug
           condition
:      %SF_WEB_DEBUG%
           xdebug_logging
: false
           web_debug_class
: fsWebDebugForSf11

Изменяется только строка:

web_debug_class: fsWebDebugForSf11 

Для symfony 1.2:

Изменяем factories.yml:

all:
 logger
:
   
class: sfAggregateLogger
   param
:
     level
: debug
     loggers
:
       sf_web_debug
:
         
class: sfWebDebugLogger
         param
:
           level
: debug
           condition
:       %SF_WEB_DEBUG%
           xdebug_logging
:  false
           web_debug_class
: fsWebDebugForSf12

Изменяется только строка:

web_debug_class: fsWebDebugForSf11 

После очистки кеша всё должно заработать

Как это работает

Привычная панель пропадёт с веб-страницы, а всё её содержимое будет отображаться в Firebug'е.

About :)

Vars and Config

Logs and messages

Cache

Database

Memory

Timer

Плагин так же нам обещает копирование запросов одним кликом (это есть), подсветку кеша компонентов(Component Cache Highlighting) и отображение паршиалов (Mouse Over Partial). Последние два пока найти не смог.

Весьма удобно. Во-первых нет никаких накладок с отображением панели (его внешний вид можно убить средствами css, с данным плагином всё будет нормально). Его, при желании, можно использовать и даже в prod среде (например в случае каких-то небольших неполадок на уже давном работающем приложении), главное не забыть потом отключить.

По всей видимости плагин развивается. Могу сказать с уверенностью - I Use It.

 

Коментарии:

Нат Гаджибалаев 2009-01-11 17:30:39

Использую с момента первого упоминания об этом плагине в твоем блоге. It works :)
В prod не советую потому, что он будет всем клиентам отсылать лог, это не так печально в плене безопасности, как в плане быстродействия и трафика. Лучше, все же, выключить логирование и включать только репорты об ошибках себе на почту.

ответить
maddogg 2009-01-11 18:06:00

А постоянно и не нужно, а для правки мелких багов временно включить - не слишком то и опасно

ответить

Свой комментарий: