Skip to content

[bug] disabling nested handler leads to ServiceNotFoundException exception #561

@kaznovac

Description

@kaznovac

consider this configuration (with streamed handler enabled: false, available from monolog-bundle: ^3.11||^4.0)

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: critical
            handler:      grouped
        grouped:
            type:    group
            members: [streamed, deduplicated] # <-- nested here --
        streamed:
            type:    stream
            path:    '%kernel.logs_dir%/%kernel.environment%.log'
            level:   debug
            enabled: false # <-- disabled nested handler --
        deduplicated:
            type:    deduplication
            handler: symfony_mailer
        symfony_mailer:
            type:         symfony_mailer
            from_email:   '[email protected]'
            to_email:     '[email protected]'
            subject:      'An Error Occurred! %%message%%'
            level:        debug
            formatter:    monolog.formatter.html
            content_type: text/html

following exception rises in runtime:

In CheckExceptionOnInvalidReferenceBehaviorPass.php line 119:
                                                                                                                                                                                     
  [Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]                                                                                                         
  The service "monolog.handler.grouped" has a dependency on a non-existent service "monolog.handler.streamed". Did you mean this: "monolog.handler.deduplicated"?                                                                                                                                                                            
                                                                                                                                                                                     

Exception trace:
  at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:119
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass@anonymous\/var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:104$a8->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:126
 Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass->throwServiceNotFoundException() at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:86
 Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:90
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:51
 Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:90
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:51
 Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:99
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:51
 Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:90
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:51
 Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass->processValue() at /var/www/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:48
 Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass->process() at /var/www/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php:42
 Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass->process() at /var/www/vendor/symfony/dependency-injection/Compiler/Compiler.php:80
 Symfony\Component\DependencyInjection\Compiler\Compiler->compile() at /var/www/vendor/symfony/dependency-injection/ContainerBuilder.php:768
 Symfony\Component\DependencyInjection\ContainerBuilder->compile() at /var/www/vendor/symfony/http-kernel/Kernel.php:507
 Symfony\Component\HttpKernel\Kernel->initializeContainer() at /var/www/vendor/symfony/http-kernel/Kernel.php:772
 Symfony\Component\HttpKernel\Kernel->preBoot() at /var/www/vendor/symfony/http-kernel/Kernel.php:126
 Symfony\Component\HttpKernel\Kernel->boot() at /var/www/vendor/symfony/framework-bundle/Console/Application.php:190
 Symfony\Bundle\FrameworkBundle\Console\Application->registerCommands() at /var/www/vendor/symfony/framework-bundle/Console/Application.php:72
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /var/www/vendor/symfony/console/Application.php:175
 Symfony\Component\Console\Application->run() at /var/www/bin/console:29

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions