服务定义 "monolog.logger.event" 不存在
The service definition "monolog.logger.event" does not exist
我为我的独白创建了不同的频道,同时使用我的应用程序(开发和测试环境)一切正常,创建并写入所有日志但是当执行我的测试(单元测试)时我收到以下错误: "The service definition "monolog.logger.event“不存在”
我已将我的 "ContainerBuilder $container" 转储到 "vendor/symfony/monolog-bundle/DependencyInjection/Compiler/LoggerChannelPass.php" 中,但由于某种原因 monolog.logger.event 不存在,我的所有其他频道都存在:原则、请求、安全等...
我正在粘贴与频道对应的独白配置:
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']
知道如何解决这个问题
这是因为 web/app_test.php 和控制台有不同的调试标志,例如:
#web/app_test.php
$kernel = new AppKernel('test', false);
#bin(app)/console
$kernel = new AppKernel('test', true);
在这种情况下,Web 应用程序无法找到正确的缓存容器文件。
我为我的独白创建了不同的频道,同时使用我的应用程序(开发和测试环境)一切正常,创建并写入所有日志但是当执行我的测试(单元测试)时我收到以下错误: "The service definition "monolog.logger.event“不存在” 我已将我的 "ContainerBuilder $container" 转储到 "vendor/symfony/monolog-bundle/DependencyInjection/Compiler/LoggerChannelPass.php" 中,但由于某种原因 monolog.logger.event 不存在,我的所有其他频道都存在:原则、请求、安全等... 我正在粘贴与频道对应的独白配置:
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']
知道如何解决这个问题
这是因为 web/app_test.php 和控制台有不同的调试标志,例如:
#web/app_test.php
$kernel = new AppKernel('test', false);
#bin(app)/console
$kernel = new AppKernel('test', true);
在这种情况下,Web 应用程序无法找到正确的缓存容器文件。