diff --git a/Factories/RollbarHandlerFactory.php b/Factories/RollbarHandlerFactory.php index b9ea050..a0c224a 100755 --- a/Factories/RollbarHandlerFactory.php +++ b/Factories/RollbarHandlerFactory.php @@ -3,7 +3,9 @@ namespace Rollbar\Symfony\RollbarBundle\Factories; use Psr\Log\LogLevel; -use Rollbar\Monolog\Handler\RollbarHandler; +use Monolog\Handler\Handler; +use Monolog\Handler\RollbarHandler; +use Rollbar\Monolog\Handler\RollbarHandler as LegacyRollbarHandler; use Rollbar\Rollbar; use Rollbar\Symfony\RollbarBundle\DependencyInjection\RollbarExtension; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -52,10 +54,14 @@ public function __construct(ContainerInterface $container) /** * Create RollbarHandler * - * @return RollbarHandler + * @return Handler */ - public function createRollbarHandler(): RollbarHandler + public function createRollbarHandler(): Handler { + if (! class_exists(RollbarHandler::class)) { + return new LegacyRollbarHandler(Rollbar::logger(), LogLevel::ERROR); + } + return new RollbarHandler(Rollbar::logger(), LogLevel::ERROR); } } diff --git a/Resources/config/services.yml b/Resources/config/services.yml index 37f1c65..d96869c 100755 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -4,11 +4,14 @@ services: arguments: - '@service_container' - Rollbar\Monolog\Handler\RollbarHandler: + Monolog\Handler\RollbarHandler: factory: ['@Rollbar\Symfony\RollbarBundle\Factories\RollbarHandlerFactory', createRollbarHandler] tags: - { name: monolog.logger, channel: rollbar } + Rollbar\Monolog\Handler\RollbarHandler: + alias: Monolog\Handler\RollbarHandler + Rollbar\Symfony\RollbarBundle\Payload\Generator: arguments: - '@service_container'