我是单元测试模型类,我希望记录所有Doctrine查询。 我的测试环境的settings.yml包含
logging_enabled: true
和我的剧本
$configuration = ProjectConfiguration::getApplicationConfiguration( 'frontend', 'test', true);
new sfDatabaseManager( $configuration ) ;
但是,我没有在任何日志文件中看到任何日志。
答案 0 :(得分:2)
因此,我通过在Doctrine探查器上使用事件监听器找到了一种解决方法。
$profiler = new Doctrine_Connection_Profiler();
$conn = Doctrine_Manager::connection();
$conn->setListener($profiler);
/* tests go here */
foreach ($profiler as $event) {
echo $event->getQuery() . "\n";
}
但由于某种原因,同一个查询被多次打印出来(我确信它只执行一次)。此外,将查询日志与其余日志消息分离是不方便的。