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

时间:2013-11-28 10:49:49

标签: php symfony logging doctrine-orm

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

1 个答案:

答案 0 :(得分:1)

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

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