Почему Zend_Log_Writer_Firebug не может регистрировать сообщения от плагина dispatchLoopShutdown? - PullRequest
0 голосов
/ 01 сентября 2010

Почему журналы можно отправлять из плагина dispatchLoopShutdown, как это происходит до Zend_Controller_Response_Abstract-> sendResponse (), а заголовки еще не отправлены?

Я запускаю ресурс логгера в моем загрузчике

  protected function _initLogger()
  {
    $writer = new Zend_Log_Writer_Firebug();
    $logger = new Zend_Log($writer);

    Zend_Registry::set('logger', $logger);
    return $logger;
  }

и используйте его из любого места

Zend_Registry::get('logger')->debug('test');

и работает до точки выполнения плагина dispatchLoopShutdown ...

Ответы [ 2 ]

2 голосов
/ 01 сентября 2010

AFAIK, пишущий Firebug имеет свой собственный плагин в dispatchLoopShutdown для вставки данных в ответ.Вы должны добавить свой плагин с более низким приоритетом (см. Руководство).

0 голосов
/ 23 сентября 2010

Zend_Log_Writer_Firebug сам регистрирует свой плагин dispatchLoopShutdown (для краткости dLSp) при первом запуске, поэтому для работы этого регистратора в dLSp вам необходимо Zend_Log_Writer_Firebug dLSp (Zend_Wildfire_Channel_HttpHeaders)быть уже зарегистрированным до вызова регистратора в dLSp.Вы можете достичь этого, например, позвонив по номеру $logger->log('') в своей начальной загрузке

...