* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\EventListener; use Psr\Log\LoggerInterface; use Symfony\Component\HttpKernel\Debug\ErrorHandler; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\KernelEvents; /** * Injects the logger into the ErrorHandler, so that it can log various errors. * * @author Colin Frei * @author Konstantin Myakshin */ class ErrorsLoggerListener implements EventSubscriberInterface { private $channel; private $logger; public function __construct($channel, LoggerInterface $logger = null) { $this->channel = $channel; $this->logger = $logger; } public function injectLogger() { if (null !== $this->logger) { ErrorHandler::setLogger($this->logger, $this->channel); } } public static function getSubscribedEvents() { return array(KernelEvents::REQUEST => 'injectLogger'); } }