Ignore:
Timestamp:
2011/07/04 16:49:09 (15 years ago)
Author:
habu
Message:

#1395(フロント用のアプリログ出力関数)

とりあえず実装してみました。

バックトレースから、
ログ出力関数呼び出し元のクラス名・関数名・行数を取得して
メッセージの前に自動で付与する様にしています。

GC_Utils_Ex::gfFrontLog("メッセージ");
でログ出力できます。

また、LC_Pageクラスを継承しているクラス内では、
$this->log("メッセージ");
でログ出力できます。
この場合、ログイン中ユーザの顧客IDも含めてログ出力します。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/util/GC_Utils.php

    r20955 r21013  
    121121    } 
    122122 
     123    /** 
     124     * フロント用ログ出力 
     125     * 
     126     * フロント用ログ出力を行ないます 
     127     * @param string $mess ログメッセージ 
     128     * @return void 
     129     */ 
     130    function gfFrontLog($mess, $log_level='Debug') { 
     131        // バックトレースを取得する 
     132        $traces = debug_backtrace(false); 
     133        $bklv = 1; 
     134        if ($traces[1]['class'] === 'LC_Page' && $traces[1]['function'] === 'log') { 
     135            $bklv = 2; 
     136        } 
     137        $str = $traces[$bklv]['class'] . "::" . $traces[$bklv]['function'] . "(" . $traces[$bklv]['line'] . ") "; 
     138         
     139        // メッセージの前に、ログ出力元関数名とログ出力関数呼び出し部分の行数を付与 
     140        $mess = $str . $mess; 
     141         
     142        // TODO: デバッグログの場合は、設定によってはスタックトレースも出力する等の制御を入れたいが、要検討 
     143        if ($log_level === 'Debug') { 
     144            // $mess .= print_r($traces, true); 
     145        } 
     146         
     147        // ログ出力 
     148        GC_Utils_Ex::gfPrintLog($mess, CUSTOMER_LOG_REALFILE ); 
     149    } 
     150 
    123151    /*---------------------------------------------------------------------- 
    124152     * [名称] gfPrintLog 
Note: See TracChangeset for help on using the changeset viewer.