2010-09-01 53 views
0

爲什麼日誌可以從dispatchLoopShutdown插件發送,因爲它發生在Zend_Controller_Response_Abstract-> sendResponse()之前,並且還沒有發送任何頭文件?爲什麼Zend_Log_Writer_Firebug無法從dispatchLoopShutdown插件記錄消息?

我初始化我的引導

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

AFAIK Firebug的作家在dispatchLoopShutdown中有他自己的插件來在響應中注入數據。您應該添加優先級較低的插件(請參閱手冊)。

0

Zend_Log_Writer_Firebug本身它首先運行期間註冊自己的dispatchLoopShutdown插件(dLSp的簡稱),所以得到這個記錄在dLSp工作,你需要Zend_Log_Writer_FirebugdLSpZend_Wildfire_Channel_HttpHeaders)在dLSp調用記錄之前已經註冊。您可以通過在您的引導程序中調用$logger->log('')來達到此目的,例如