[CakePHP]独自のログファイルを出力する

CakePHPCakePHP
CakePHP

今回は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エラーを個別にログ出力できる。

CakePHP
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
この記事を書いた人

スパイスファクトリー株式会社 Webエンジニア。フロントエンドやWebサイトの高速化が得意です。インフラ・バックエンドも一通りやってます。
個人的なお仕事のご依頼や情報交換などはお問い合わせまたはTwitterにメンションをお願いします。

ShoheiTaiをフォローする
このエントリーが役に立ったらシェアをお願いします!
イケてないコード – Webエンジニアのブログ

コメント

タイトルとURLをコピーしました