環境 CodeIgniter:Version 2.1.0 前置き 表題にCodeIgniterと書きましたが、概念的にはこのフレームワークだからという話ではないです。 前回 の続きと言うことで。 デフォルトでログは以下のように吐かれます。 DEBUG - 2012-02-18 23:30:43 --> Controller Class Initialized INFO - 2012-02-18 23:30:43 --> start INFO - 2012-02-18 23:30:43 --> valid id:hogehoge INFO - 2012-02-18 23:30:43 --> end まあ、ざっくりこのログが何を表しているかというと、 土曜の夜だというのにデバッグしてる MVCモデルのControllerの部分に要求がきて、その中のメソッドを開始し、idの値判定して結果をログへ出力。正常にメソッドを抜けてendといった感じを表しています。 自分で作り込んでいれば、上記では割愛した前後のログでおよその見当は付くでしょうが、ぱっと見どこの処理かわからないですね。 これにクラス名やメソッド名、行番号が表示されていれば、前後を確認しなくとも1発でどこの処理か判断する事ができるのではないでしょうか。 クラス名やメソッド名、行番号などの情報を取得する方法 PHPには便利な関数があるようで、 ・PHP: debug_backtrace - Manual http://www.php.net/manual/ja/function.debug-backtrace.php この関数を叩けば、呼び出し元のクラス名やら行番号が参照できます。という事で、 前回 社畜仕様に カスタマイズしたファイルに埋め込めばOK。はい解決!と行きたいところですが、少し挙動を見てみましょう。 debug_backtrace関数の戻り値を表示させるには、 var_dump(debug_backtrace()); という記述をしてやります。これを前回で言うところのMY_Log.phpのwrite_logメソッド内に記述し、 呼び出し元となる、テスト用のControllerを作成してやります。 <?php if ( ! defined(
ロードバイク、プログラミング、Windows、ラグビー観戦、食べ歩きなどの日記