我编写记录器配置并使用 Zend\Log\LoggerServiceFactory 来配置记录器。如果我使用基础作家所有工作。但是我想将我自己由工厂创建的作家添加到记录器中,这是行不通的。
有没有办法使用配置和基本记录器工厂从自己的工厂添加编写器?
更新:这是我的代码
这是我的配置,我为 Logger 定义工厂,为编写器定义工厂,为基本编写器定义配置
// config/autoload/global.php
return array(
'service_manager' => array(
'factories' => array(
'Logger' => 'Zend\Log\LoggerServiceFactory',
'Rollbar' => 'Yassa\Rollbar\Log\Writer\Rollbar'
),
),
'log' => array(
'writers' => array(
array(
'name' => 'stream',
'options' => array(
...
),
),
array(
'name' => 'stream',
'options' => array(
...
),
),
array(
'name' => 'Rollbar',
),
),
),
);
Yassa\Rollbar\Log\Writer\Rollbar
- 它是来自 yassa\rollbar 模块 ( github )的工厂
如果没有 Rollbar 编写器,此配置可以满足我的需要 - 创建和配置标准编写器。
因此,我从 aontroller 调用 logger:
$this->getServiceLocator()->get('Logger')->info('test');