【发布时间】:2013-01-29 13:23:31
【问题描述】:
我希望能够在 error.log 中记录完整的 SQL 查询,特别是在发生 SQL 错误时。我的调试在 core.php 中设置为 2。
输出如下:
2013-01-29 19:53:21 Error: SQLSTATE[HY000]: General error: 1364 Field 'street' doesn't have a default value
#0 D:\xampp\htdocs\my_project\lib\Cake\Model\Datasource\DboSource.php(459): PDOStatement->execute(Array)
#1 D:\xampp\htdocs\my_project\lib\Cake\Model\Datasource\DboSource.php(425): DboSource->_execute('INSERT INTO `st...', Array)
#2 D:\xampp\htdocs\my_project\lib\Cake\Model\Datasource\DboSource.php(1007): DboSource->execute('INSERT INTO `st...')
如您所见,SQL 语句只记录了部分,其余部分被省略了。
我将 DebugKit 与此结合使用,但即使这样也不会在 DebugKit 窗口中生成完整的 SQL 日志。
我在这里抛出异常并记录 getTraceAsString()。
任何解决方案将不胜感激。
谢谢你,
m^e
【问题讨论】:
标签: sql cakephp logging logfile