首页 文章

服务定义“monolog.logger.event”不存在

提问于
浏览
1

我为我的monolog创建了不同的通道,同时使用我的应用程序(开发和测试环境)一切都很好,创建并写入所有日志但是当执行我的测试(单元测试)时,我收到以下错误:“服务定义“monolog.logger.event”不存在“我在”vendor / symfony / monolog-bundle / DependencyInjection / Compiler / LoggerChannelPass.php“中转储了我的”ContainerBuilder $ container“,由于某种原因,monolog.logger.event确实存在不存在,我的所有其他 Channels 都存在:教条,请求,安全等等......我正在粘贴与 Channels 对应的monolog配置:

monolog:
    handlers:
        main:
            type:   stream
            path:   "%kernel.logs_dir%/%kernel.environment%.log"
            level:  debug
            channels: ['!event', '!snc_redis', '!doctrine', '!request', '!security']
        event:
            type:   stream
            path:   "%kernel.logs_dir%/%kernel.environment%_event.log"
            level:  debug
            channels: ['event']
        snc_redis:
            type:   stream
            path:   "%kernel.logs_dir%/%kernel.environment%_redis.log"
            level:  debug
            channels: ['snc_redis']
        doctrine:
            type:  stream
            path:   "%kernel.logs_dir%/%kernel.environment%_doctrine.log"
            level:  debug
            channels: ['doctrine']
        request:
            type:  stream
            path:   "%kernel.logs_dir%/%kernel.environment%_request.log"
            level:  debug
            channels: ['request']
        security:
            type:  stream
            path:   "%kernel.logs_dir%/%kernel.environment%_security.log"
            level:  debug
            channels: ['security']

任何线索如何解决这个问题

1 回答

  • 0

    这是因为 web/app_test.php 和控制台有不同的调试标志,例如:

    #web/app_test.php    
    $kernel = new AppKernel('test', false);
    
    #bin(app)/console
    $kernel = new AppKernel('test', true);
    

    在这种情况下,Web应用程序找不到正确的缓存容器文件 .

相关问题