Symfony: Сделать уровень журнала журнала соответствия маршрута настраиваемым

Созданный на 25 мая 2015  ·  3Комментарии  ·  Источник: symfony/symfony

Я думаю, было бы хорошо, если бы мы могли установить уровень логирования "Matched route..." на DEBUG.
В некоторых проектах INFO может быть неточным уровнем для этой информации.

Самый полезный комментарий

Я знаю, что эта проблема закрыта и существует несколько лет, но я хотел решить эту проблему и решил поделиться своим решением (приложение использует 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.

Все 3 Комментарий

Просто измените введенный регистратор. Например, вы можете использовать собственный декоратор, который изменяет 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.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги