Я думаю, было бы хорошо, если бы мы могли установить уровень логирования "Matched route..." на DEBUG.
В некоторых проектах INFO может быть неточным уровнем для этой информации.
Просто измените введенный регистратор. Например, вы можете использовать собственный декоратор, который изменяет info
на debug
. Нет смысла делать такие вещи настраиваемыми в самом фреймворке.
Некоторые строки примера кода будут оценены
Я знаю, что эта проблема закрыта и существует несколько лет, но я хотел решить эту проблему и решил поделиться своим решением (приложение использует framework-bundle 4.4).
Вы можете найти службу router_listener по умолчанию ( Symfony\Component\HttpKernel\EventListener\RouterListener
), настроенную здесь: https://github.com/symfony/symfony/blob/3619661d65711901852c6c2ba0b33c3d273593ca/src/Symfony/Bundle/FrameworkBundle/Resources/config/routing.xml# Л108 -Л117
Чтобы переопределить, я преобразовал это определение в YAML и добавил его в файл services.yaml
моего приложения:
services:
# Override router_listener service defined in vendor/symfony/framework-bundle/Resources/config/routing.xml
# to suppress logger (definition below is identical except for passing in null for the logger)
router_listener:
class: Symfony\Component\HttpKernel\EventListener\RouterListener
arguments:
- '<strong i="11">@router</strong>'
- '<strong i="12">@request_stack</strong>'
- '@?router.request_context'
- null
- '%kernel.project_dir%'
- '%kernel.debug%'
Это определение идентично, за исключением того, что регистратору передается null
. Как упоминалось выше, возможно, лучшим решением является реализация пользовательского регистратора, который настраивает уровень вниз, но, поскольку единственная регистрация, происходящая в RouterListener, — это журнал совпадений информационного уровня, который я хочу подавить, я решил выбрать простой выход. . Надеюсь, в будущем я не пожалею об этом!
Кроме того, использование именованных аргументов может быть лучше/понятнее, но моя цель состояла в том, чтобы максимально точно соответствовать конфигурации XML.
Самый полезный комментарий
Я знаю, что эта проблема закрыта и существует несколько лет, но я хотел решить эту проблему и решил поделиться своим решением (приложение использует framework-bundle 4.4).
Вы можете найти службу router_listener по умолчанию (
Symfony\Component\HttpKernel\EventListener\RouterListener
), настроенную здесь: https://github.com/symfony/symfony/blob/3619661d65711901852c6c2ba0b33c3d273593ca/src/Symfony/Bundle/FrameworkBundle/Resources/config/routing.xml# Л108 -Л117Чтобы переопределить, я преобразовал это определение в YAML и добавил его в файл
services.yaml
моего приложения:Это определение идентично, за исключением того, что регистратору передается
null
. Как упоминалось выше, возможно, лучшим решением является реализация пользовательского регистратора, который настраивает уровень вниз, но, поскольку единственная регистрация, происходящая в RouterListener, — это журнал совпадений информационного уровня, который я хочу подавить, я решил выбрать простой выход. . Надеюсь, в будущем я не пожалею об этом!Кроме того, использование именованных аргументов может быть лучше/понятнее, но моя цель состояла в том, чтобы максимально точно соответствовать конфигурации XML.