我有一个ZendFramework application。它运行Zend Framework 3.我添加了zend-log,并将它注入到constructor of the IndexController中,我在索引控制器的索引操作中记录了一条消息,如下所示。如何为Zend Framework MVC应用程序配置默认的ZendLog工厂?
public function __construct(Logger $logger)
{
$this->logger = $logger;
}
public function indexAction()
{
$this->logger->info('Example Log Message');
return new ViewModel();
}
我可以用vendor/bin/generate-factory-for-class
为此生成一个工厂。我像这样将它添加到模块配置中。
'controllers' => [
'factories' => [
Controller\IndexController::class => Controller\IndexControllerFactory::class,
],
],
当我运行指标控制器我收到以下错误:
/var/www/vendor/zendframework/zend-log/src/Logger.php:434
No log writer specified
我知道我可以用下面添加一个作家:
$logger->addWriter($writer);
我的问题是,什么是记录器支持配置?我只是将它添加到模块配置中的['service_manager' => 'factories' => [ . . . ] ]
?我应该把我写的工厂课程放在哪里?与其他服务?
我正在努力解决这个“正确”的方式。
是您创建的记录器厂?你可以粘贴控制器和记录器工厂吗? – tasmaniski