gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 23:19:01 25 4
gpt4 key购买 nike

所以我想开始登录我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com