/**
  * @param GetResponseForExceptionEvent|ConsoleExceptionEvent $event
  */
 public function onKernelException($event)
 {
     $exception = $event->getException();
     foreach ($this->ignoredExceptions as $ignoredException) {
         if ($exception instanceof $ignoredException) {
             return;
         }
     }
     $this->notifier->notify($exception);
 }
 /**
  * Handles the PHP shutdown event.
  *
  * This event exists almost solely to provide a means to catch and log errors that might have been
  * otherwise lost when PHP decided to die unexpectedly.
  */
 public function onShutdown()
 {
     // Get the last error if there was one, if not, let's get out of here.
     if (!($error = error_get_last())) {
         return;
     }
     if (!($error['type'] & (E_ERROR | E_PARSE | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR))) {
         return;
     }
     $this->notifier->notify(new \ErrorException($error['message'], $error['type'], $error['type'], $error['file'], $error['line']));
 }
 /**
  * @param Exception $ex
  * @return array|null
  */
 public function notify(Exception $ex)
 {
     if (!$this->isEnabled()) {
         return null;
     }
     $result = $this->client->notify($ex);
     if (!is_array($result)) {
         return null;
     }
     return $result;
 }