特に SQL エラーが発生したときに、完全な SQL クエリを error.log に記録できるようにしたいと考えています。私のデバッグは、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