我想知道通过 ZF2 中的 ServiceManager 启动和重用记录器实例的最佳方法是什么。当然我可以做一个简单的方法在任何类中使用,比如:
public function getLogger () {
$this->logger = new Logger();
$this->logger->addWriter(new Writer\Stream('/log/cms_errors.log'));
return $logger;
}
但我想知道在 global.php 中注册类似结构的最佳方法是什么。到目前为止我可以
将以下内容添加到 global.php
'Zend\Log'=>array(
'timestampFormat' => 'Y-m-d',
array(
'writerName' => 'Stream',
'writerParams' => array(
'stream' => '/log/zend.log',
),
'formatterName' => 'Simple',
),
),
如果我尝试通过以下方式调用它:
$this->getServiceLocator()->get('Zend\Log')
我得到一个:
Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for Zend\Log