0

为什么可以从 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 插件执行点...

4

2 回答 2

2

AFAIK Firebug 编写器在 dispatchLoopShutdown 中有自己的插件,可以在响应中注入数据。您应该添加优先级较低的插件(参见手册)。

于 2010-09-01T10:21:47.043 回答
0

Zend_Log_Writer_Firebug它本身在第一次运行期间注册了他的dispatchLoopShutdown插件(dLSp简称),所以要让这个记录器工作,dLSp你需要在调用 logger in 之前已经注册Zend_Log_Writer_Firebug's dLSp( ) 。例如,您可以通过调用您的引导程序来实现此目的Zend_Wildfire_Channel_HttpHeadersdLSp$logger->log('')

于 2010-09-23T05:43:55.470 回答