Posted at

CakePHP2 SQLをログで確認したい

More than 1 year has passed since last update.

発行されたSQLをログに吐き出したい。

debugkitは便利だけど、ピンポイントで確認したい時もある。

いつもやり方を忘れてしまうのでメモ。


ログ出力

$this->log($msg, 'debug');

コントローラーでもモデルでも好きなところに書く。

logメソッドの第二引数に書き込みたいログファイル名を指定すればよい。

ちなみにログファイルのパスは/app/tmp/logs/debug.log


SQLのダンプ

$model->getDataSource()->getLog();

デバッグレベルが2以上でないと出力されないので注意。


まとめ

$this->log(

$model->getDataSource()->getLog(),
'sql'
);

ちなみに画面に表示したい場合は、

debug($model->getDataSource()->getLog());