Zend 3 - использование логгера в качестве сервиса - PullRequest
0 голосов
/ 29 августа 2018

Я довольно новичок в ZF3 и не могу понять, как определить модуль логгера как сервис и как я могу использовать (повторно использовать) его в других модулях. Официальная документация плоха с этой точки зрения. Был бы хорош любой короткий пример.

1 Ответ

0 голосов
/ 29 августа 2018

Если вы хотите использовать Zend-Log в приложении ZF, после установки вам нужно сделать 2 вещи:

  1. Для регистрации Zend\Log в конфигурации приложения под ключом «модули».

  2. Добавить конфигурацию для вашего регистратора в global.php или config config

    'log' => [
      'MyLogger' => [
        'writers' => [
            'stream' => [
                'name' => 'stream',
                'priority' => \Zend\Log\Logger::ALERT,
                'options' => [
                    'stream' => '/tmp/php_errors.log',
                    'formatter' => [
                        'name' => \Zend\Log\Formatter\Simple::class,
                        'options' => [
                            'format' => '%timestamp% %priorityName% (%priority%): %message% %extra%',
                            'dateTimeFormat' => 'c',
                        ],
                    ],
                    'filters' => [
                        'priority' => [
                            'name' => 'priority',
                            'options' => [
                                'operator' => '<=',
                                'priority' => \Zend\Log\Logger::INFO,
                            ],
                        ],
                    ],
                ],
            ],
        ],
      ],
    ],
    

после этого просто возьмите его из Service Manager и используйте его:

$logger = $container->get('MyLogger'); // <-- the key that you register in config above
$logger->info('Logging info message in the file');

Вы, вероятно, хотите взять регистратор у SM, а затем внедрить его в класс, который вы хотите использовать.

В блоге есть сообщение о регистрации с zend-log

...