I'm trying to implement a FireBug logger using a plugin but I'm
getting some odd results. Here's a very simplified version to
illustrate the problem:

class Debug extends Zend_Controller_Plugin_Abstract
{
        public function dispatchLoopStartup(Zend_Controller_Request_Abstract 
$request)
        {
                $debugger = new Zend_Log(new Zend_Log_Writer_Firebug());
                $debugger->log('Debug Step 1.', Zend_Log::INFO);
        }
        
        public function dispatchLoopShutdown()
        {
                $debugger = new Zend_Log(new Zend_Log_Writer_Firebug());
                $debugger->log('Debug Step 2.', Zend_Log::INFO);
                $this->_getMoreInfo();
                $this->_getEvenMoreInfo();
        }
        
        private function _getMoreInfo()
        {
                $debugger = new Zend_Log(new Zend_Log_Writer_Firebug());
                $debugger->log('More Info.', Zend_Log::INFO);
        }
        
        private function _getEvenMoreInfo()
        {
                $debugger = new Zend_Log(new Zend_Log_Writer_Firebug());
                $debugger->log('Even More Info.', Zend_Log::INFO);
        }
}

I usually use a class member instead of re-initializing the logger
each time but this is for the purpose of demonstration. If I register
this plugin with the front controller, everything works as expected. I
get 4 log messages in FireBug. If I comment out line 6, i.e.
"$debugger->log('Debug Step 1.', Zend_Log::INFO);", I don't get any
messages in FireBug. Does anyone know why this is happening?

Thanks.

PS I'm using Zend Framework 1.7.1.

Reply via email to