2013-02-22 58 views
1

我是單元測試模型類,我希望記錄所有Doctrine查詢。 我的測試環境settings.yml中包含如何在Symfony 1.4單元測試中啓用Doctrine查詢日誌記錄

logging_enabled: true 

和我的腳本

$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'test', true); 
new sfDatabaseManager($configuration) ; 

不過,我沒有看到任何記錄任何日誌文件中。

回答

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"; 
} 

但是,出於某種原因(我相信它只執行一次),相同的查詢打印出來幾次。另外,將查詢日誌與其他日誌消息分離並不方便。