Symfony2:如何将查询持续时间记录到logs/dev.log中


Symfony2: how to log query duration to logs/dev.log

在dev-env Symfony2中,默认情况下会将SQL查询记录到dev.log中。出于分析和调试目的,我也想记录查询的执行时间。这必须是可能的,因为"真实页面"的探查器在每个查询旁边显示执行时间。我认为正确的类是DBalLogger+秒表实例,但我不知道如何以及在哪里正确配置这些服务(monlog?条令?dbal.connection?示例说我们必须使用setSQLLogger,但我在我的config_dev.yml中在哪里可以做到这一点?)

您可以注入monlog服务,然后手动添加时间参考

$logger = $this->get('logger');
$timestart = microtime(true);
// Your query goes here
$timeend = microtime(true);
$logger->info("Query time: " . (($timeend - $timestart) * 1000) . "s");