How to make a global Zend_Log with Zend_Application_Bootstrap

656 Views Asked by At

I would like to make a global Zend_Log object that I can reach from my Controllers and my Models.

What should I add to my Bootstrap? (My bootstrap extends Zend_Application_Bootstrap)

How then can I reach the logger object from my controller actions and from my model?

1

There are 1 best solutions below

1
On BEST ANSWER

As you do with any other class - assign it to the Zend_Registy. I'd suggest setting like this:

Zend_Registry::set('Zend_Log',$logInstance);

This is a common way, which is used also for translate (set translate instance to 'Zend_Translate' and classes like forms and validators will find it automatically).

You can use Zend_Registry::get('Zend_Log')->log(...) to log anywhere you want. It's not very good from the point of architecture (you should not use normally), but for log - which can appear practically anywhere in the app from view helpers to controllers and models it's a good thing.