Как получить Doctrine для регистрации запросов в Symfony2

Я довольно новичок в Symfony2 и ищу способ записывать запросы SQL (включая тайминги) в тот же файл журнала, что и остальная часть моего приложения.

Из того, что я могу определить из документации, все это должно работать «из коробки», но после нескольких часов попыток я не могу понять, что я делаю неправильно.

config_dev.yml

monolog:
handlers:
doctrine:
action_level: debug
type: stream
path: %kernel.logs_dir%/%kernel.environment%_doctrine.log
channels: doctrine

config.yml

# Doctrine Configuration
doctrine:
dbal:
driver:   "%database_driver%"host:     "%database_host%"port:     "%database_port%"dbname:   "%database_name%"user:     "%database_user%"password: "%database_password%"charset:  UTF8
logging:  true
profiling:  true

orm:
auto_generate_proxy_classes: "%kernel.debug%"auto_mapping: true

Я не получаю файл журнала, сгенерированный вообще. Мой другой обработчик журналов работает нормально (не указан здесь).

Мне интересно, где я ошибся, но также и то, является ли это действительно правильным подходом или я должен реализовать новый класс, который реализует SQL Logger, как упомянуто здесь: http://vvv.tobiassjosten.net/symfony/logging-doctrine-queries-in-symfony2/

Но я не знаю, как подключить это через конфигурацию / сервисы, чтобы сделать его применимым для всего проекта (например, я не хочу вызывать его в каждом контроллере).

Большое спасибо за любую помощь!

6

Решение

Если вы действительно уверены, что вам нужно регистрировать запросы doctrine 2 в рабочей среде, вы можете настроить это в конфигах doctrine.

connections:
# A collection of different named connections (e.g. default, conn2, etc)
default:
# when true, queries are logged to a "doctrine" monolog channel
logging: true

http://symfony.com/doc/current/reference/configuration/doctrine.html

И настроить монолог для регистрации доктрины, как описано в документации:
http://symfony.com/doc/current/cookbook/logging/channels_handlers.html

Подобная проблема может быть найдена в Symfony 2.4 не может получить канал доктрины в среде prod

12

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]