Zend Framework 2: Логирование с Zend\Log

Zend Framework 2: Логирование с Zend\Log
Зачастую при отладке необходимо знать, что происходит коде в определенный момент времени. С этой задачей отлично справляется xdebug, однако есть задачи где одного xDebug’a не достаточно: например, Вы через Zend\Http\Client отправляете запрос на какой-нибудь action. Вот тут на помощь приходит логирование.

В Zend Framework уже есть компонент предназначенный для логирования — Zend\Log. Кстати, в первой версии фреймворка он тоже присутствует.

Добавим в Module.php следующий код:

public function getServiceConfig()
{
    return array(
        'factories' => array(
            'Zend\Log' => function($sm) {
                $logger = new \Zend\Log\Logger();
                $writer = new \Zend\Log\Writer\Stream('./data/log/app.log');
                $logger->addWriter($writer);

                return $logger;
            },
        ),
    );
}

Пример использования:

public function debugAction()
{
    $logger = $this->getServiceLocator()->get('Zend\Log');
    $postData = $this->getRequest()->getPost();

    $logger->info('[debugAction] Debug POST data:');
    $logger->log(\Zend\Log\Logger::DEBUG, print_r($postData , true));
}

Stas Kuryan

Web developer. Перфекционист в написании кода.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *