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