Я хочу переопределить некоторые конфигурации из config_dev.yml в моей config_test.yml. Итак, представьте следующую часть в файле config_dev.yml:
monolog: handlers: main: type: stream path: %kernel.logs_dir%/%kernel.environment%.log level: debug firephp: type: firephp level: info
В моей тестовой среде я вообще не хочу регистрировать. Поэтому я попробовал
monolog: ~
без эффекта. Я также пробовал:
monolog: handlers: main: ~ firephp: ~
снова без какого-либо эффекта. Затем я протестировал
monolog: handlers: main: type: ~ path: ~ level: ~ firephp: type: ~ level: ~
и я получаю ErrorException Couldn't find constant Monolog\Logger::
. Если бы кто-нибудь мог указать способ переопределить монологические настройки, я бы очень это оценил. Благодаря!
Лучше определить обработчики как пустой массив:
monolog: handlers: []
UPD1: Существуют специальные типы регистраторов: test и null, вы можете использовать их:
monolog: handlers: test: type: test level: debug
Ваш config_dev.yml
выглядит примерно так для монолога из коробки:
# config_dev.yml monolog: handlers: main: type: fingers_crossed action_level: error handler: nested nested: type: stream path: %kernel.logs_dir%/%kernel.environment%.log level: debug
Как вы можете видеть, это определяет main
обработчик и nested
где nested
используется только потому, что он ссылается на main
.
config_dev.yml
импортируется из config_test.yml
поэтому, если вы хотите переопределить конфигурацию для тестовой среды, вам нужно переопределить main
обработчик в config_test.yml
:
# config_text.yml monolog: handlers: main: type: test
Это заставит монолог создавать файл журнала.
Ты пробовал:
monolog: handlers: ~
Он должен работать (я думаю). Смотрите здесь Без обработчиков, монолог не загружается.