Zend 3 — использование логгера в качестве сервиса

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

1

Решение

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

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

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

    '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');

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

Есть блог в блоге о регистрации с Зенд-журнал

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]