У меня есть приложение ZendFramework. На нем работает Zend Framework 3. Я добавил zend-log и внедрил его в конструктор IndexController Я регистрирую сообщение в действии index контроллера индекса вот так.
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' => [ . . . ] ]
в конфигурации модуля? Где я должен разместить фабричный класс, который я пишу? С другими службами?
Я изо всех сил пытаюсь решить это "правильным" способом.