blogyuji.developerによる落書き。プログラミングやカメラをメインにだらだらと書いてます。2.xでSQLクエリーをログに出力するおおよそ8か月ぶりの更新らしいです。お仕事で忙しかったみたいです。Railsな案件→VBAな案件→CakePHPな案件と渡り歩いてます。本題に移ると、まぁタイトルの通りなのですが、CakePHPでクエリのログをファイルに簡単に吐けないの?設定をチョロっといじるだけで出来たりしないの?と思い調べました。結果としてちょっとしたコード書けば出来ることがわかったので書きました。http://kwski.net/cakephp-2-x/1064/を参考にやれば終わりです。エントリとしてちょっとあれなので、少しアレンジします。参考サイトだとMySQLですが、今回対応したのはPostgreSQLです。やってることは同じです。あと、クエリのみ出力と詳細出力を切り替えれるようにしてます。MySQLの場合はPostgresになってるとこをMySQLに書き換えたら動くと思います。カスタムしたdatasourceを作成/app/Model/Datasource/Database/PostgresLog.phpのような名前で作成します。名前は何でも良いです。対象のdatasourceを継承したクラスを作ります。使用するdatasourceを変更/app/Config/database.phpのdatasourceの指定を以下のように1で作成したクラスの名前に変更します。出力するフラグを設定/app/Config/core.phpで以下のように設定します。1を指定するとSQLのみ、2を指定すると詳細、それ以外を指定するか、未指定だと出力しません。1);と、こんな感じでコードを書いておくとデバッグが捗るんじゃないでしょうか。