所以我想开始登录我的 Zend Framework 应用程序。我想在我的引导程序中的某处注册记录器,以便我可以从任何控制器操作轻松访问它。我认为这应该是以前做过的简单的事情,但是我该怎么做呢?
文档显示了这样的内容,但我不想在每次要记录某些内容时创建一个新的 Zend_Log:
$writer = new Zend_Log_Writer_Stream('/path/to/my/log/file');
$logger = new Zend_Log($writer);
$logger->log('Informational message', Zend_Log::INFO);
解决方案
这就是我想出的。感谢您对 Zend_Registry 的提醒!
// in /application/Bootstrap.php
protected function _initLogger()
{
$writer = new Zend_Log_Writer_Stream('php://output');
$logger = new Zend_Log($writer);
Zend_Registry::set('logger', $logger);
}
// in controller actions
$logger = Zend_Registry::get('logger');
$logger->log('message');