如何通过cakephp记录mysql错误


How to log mysql error via cakephp?

在我的cakepp控制器中,我有以下代码

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中使debug等于2,它会在网页上打印错误。

有人能帮我找到一种方法,用fcshell日志或任何其他方法来获得mysql调试日志吗。

根据文档,当存在验证问题时,save通常会失败。

您可以记录$data_model->validationErrors,而不是尝试记录SQL查询。如果存在模型验证错误,save查询将不会运行。

试试之类的东西

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