2014-10-08 78 views
0

在我的CakePHP控制器我有以下一段代码如何通过cakephp记录mysql错误?

if (is_bool($data_model->save($entry))) 
{ 
    CakeLog::write('fcshell', "Failed to saved contact data."); 
} 
else 
{ 
    CakeLog::write('fcshell', "Successfully saved contact data "; 
} 

现在我想沿着打印/检查MySQL错误/警告日志“无法保存”在fcshell.log文件中的行。

只有一个我能够重现问题的测试实例之一是“mysql服务器已经消失”,但后来无法重现相同的错误,在生产中仍然存在一些错误。我需要确定是否解决了正确的mysql错误。

如果我在core.php上调试生产时调试等于2,它将在网页上打印错误。

有人可以帮我找到一种方法来获取mysql调试日志与fcshell日志或任何其他方式来调试。

回答

0

基于documentationsave通常在验证问题时失败。您可以登录$data_model->validationErrors而不是尝试记录SQL查询。如果存在模型验证错误,则save查询将不会运行。

尝试像

CakeLog::write('fcshell', "Failed to saved contact data." . var_export($data_model->validationErrors, true)); 
+0

只有一个我能够重现的测试实例,它是“MySQL服务器消失”,但后来无法重现相同的错误,并生产一些错误的一个问题仍然存在。我需要确定是否解决了正确的mysql错误。 – user2952821 2014-10-08 13:33:40