我有一个ZendFramework 应用程序。它正在运行 Zend Framework 3。我添加了 zend-log,并将其注入到IndexController 的构造函数中,我在索引控制器的索引操作中记录了一条消息,如下所示。
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' => [ . . . ] ]
模块配置中吗?我应该把我写的工厂类放在哪里?在与其他服务?
我正在努力以“正确”的方式解决这个问题。