vendor/rollbar/rollbar-php-symfony-bundle/Factories/RollbarHandlerFactory.php line 27

Open in your IDE?
  1. <?php
  2. namespace Rollbar\Symfony\RollbarBundle\Factories;
  3. use Psr\Log\LogLevel;
  4. use Monolog\Handler\RollbarHandler;
  5. use Rollbar\Rollbar;
  6. use Rollbar\Symfony\RollbarBundle\DependencyInjection\RollbarExtension;
  7. use Symfony\Component\DependencyInjection\ContainerInterface;
  8. use Symfony\Component\HttpKernel\Kernel;
  9. class RollbarHandlerFactory
  10. {
  11.     public function __construct(ContainerInterface $container)
  12.     {
  13.         $config $container->getParameter(RollbarExtension::ALIAS '.config');
  14.         if (isset($_ENV['ROLLBAR_TEST_TOKEN']) && $_ENV['ROLLBAR_TEST_TOKEN']) {
  15.             $config['access_token'] = $_ENV['ROLLBAR_TEST_TOKEN'];
  16.         }
  17.         if (!empty($config['person_fn']) && is_callable($config['person_fn'])) {
  18.             $config['person'] = null;
  19.         } elseif (empty($config['person'])) {
  20.             $config['person_fn'] = static function () use ($container) {
  21.                 try {
  22.                     $token $container->get('security.token_storage')->getToken();
  23.                     if ($token) {
  24.                         $user $token->getUser();
  25.                         $serializer $container->get('serializer');
  26.                         return \json_decode($serializer->serialize($user'json'), true512JSON_THROW_ON_ERROR);
  27.                     }
  28.                 } catch (\Throwable $exception) {
  29.                     // Ignore
  30.                 }
  31.             };
  32.         }
  33.         $config['framework'] = 'symfony ' Kernel::VERSION;
  34.         Rollbar::init($configfalsefalsefalse);
  35.     }
  36.     public function createRollbarHandler(): RollbarHandler
  37.     {
  38.         return new RollbarHandler(Rollbar::logger(), LogLevel::ERROR);
  39.     }
  40. }