今回はCakePHPで独自のログを出力する方法をご紹介します。
CakePHPにはlog関数があり、デバッグログやエラーログを出力することができます。
$this->log("デバッグログ",LOG_DEBUG); //tmp/log/debug.logに出力 $this->log("エラーログ"); //tmp/log/error.logに出力
※2014-04-06 修正
LOG_DEBUGの部分がDEBUG_LOGになってました。申し訳ありません。
これはこれで便利だけど、実際に使用すると参照したいログが埋もれてしまったりする可能性がある。また、プログラムのエラーとデータベースエラーのログを分けたいという時もあると思う。
そんなときはこの方法でログ出力するとファイル名を指定できる。
$this->log("データベースエラー",'DB_ERROR');
データベースエラーなんかの場合は
try { //ここでDBの例外が投げられたとする。 } catch(Exception $e) { //DB_ERROR.logに例外メッセージを出力! $this->log($e->getMessage(),'DB_ERROR'); }
catchした先でこのログを構えておけばDBエラーを個別にログ出力できる。
コメント