. */ namespace OrangeHRM\Installer\Subscriber; use Exception; use OrangeHRM\Core\Traits\ServiceContainerTrait; use OrangeHRM\Framework\Event\AbstractEventSubscriber; use OrangeHRM\Framework\Logger\Logger; use OrangeHRM\Framework\Services; use Symfony\Component\HttpKernel\Event\ExceptionEvent; use Symfony\Component\HttpKernel\KernelEvents; class LoggerSubscriber extends AbstractEventSubscriber { use ServiceContainerTrait; /** * @inheritDoc */ public static function getSubscribedEvents(): array { return [ KernelEvents::EXCEPTION => [ ['onExceptionEvent', 1000], ], ]; } /** * @param ExceptionEvent $event * @throws Exception */ public function onExceptionEvent(ExceptionEvent $event) { $exception = $event->getThrowable(); /** @var Logger $logger */ $logger = $this->getContainer()->get(Services::LOGGER); $logger->error($exception->getMessage()); $logger->error($exception->getTraceAsString()); } }