zend-framework - 如何在 ZF 1.8+ 应用程序的 Bootstrap 中注册 Zend_Log?

标签 zend-framework zend-log

所以我想开始登录我的 Zend Framework 应用程序。我想在 Bootstrap 中的某个位置注册记录器,以便我可以从任何 Controller 操作轻松访问它。我认为这应该是一个简单的事情,以前已经做过,但是我该怎么做呢?

文档显示了类似的内容,但我不想每次想要记录某些内容时都创建一个新的 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');

最佳答案

最简单的是使用Zend_Registry来存储日志

在 Bootstrap 中使用它

Zend_Registry::set('log', $log);

并用它来获取该日志

Zend_Registry::get('log')

关于zend-framework - 如何在 ZF 1.8+ 应用程序的 Bootstrap 中注册 Zend_Log?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739286/

相关文章:

php - Zend Framework 默认日志级别

zend-framework2 - Zend Framework 2 - 应用程序/模块/服务管理器 - Oh My

zend-framework - 我应该在 Zend_Db 中的什么地方实现缓存?

linux - 将 Zend Framework 1.12 升级到 2.3

php - Zend Framework 和 Facebook Connect 之间的集成

php - 通过 PHP 获取 MIME 类型

php - 如何使用 Zend Layout 作为 Wordpress 主题?

zend-framework - Zend Framework 中 Zend_Log 的相对路径