Changeset 21013


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

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

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

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

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

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

Location:
branches/version-2_11-dev/data/class
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/helper/SC_Helper_Purchase.php

    r21006 r21013  
    8484        $objQuery->commit(); 
    8585        $this->cleanupSession($orderId, $objCartSession, $objCustomer, $cartkey); 
     86 
     87        GC_Utils_Ex::gfFrontLog("order complete. customerId=" . $customerId); 
     88 
    8689    } 
    8790 
  • branches/version-2_11-dev/data/class/pages/LC_Page.php

    r20997 r21013  
    371371 
    372372    /** 
     373     * ログ出力を行う. 
     374     * 
     375     * ログイン中の顧客IDを含めてログ出力します. 
     376     * 
     377     * @access protected 
     378     * @param string $mess ログメッセージ 
     379     * @param string $log_level ログレベル 
     380     * @return void 
     381     */ 
     382    function log($mess, $log_level) { 
     383        $mess = $mess . " user=" . $_SESSION['customer']['customer_id']; 
     384         
     385        GC_Utils_Ex::gfFrontLog($mess, $log_level); 
     386    } 
     387 
     388    /** 
    373389     * デバック出力を行う. 
    374390     * 
  • branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php

    r20970 r21013  
    193193     */ 
    194194    function registerDeliv($deliv_check, $uniqid, &$objPurchase, &$objCustomer) { 
     195        $this->log("register deliv. deliv_check=" . $deliv_check); 
    195196        $arrValues = array(); 
    196197        // 会員登録住所がチェックされている場合 
     
    211212            } 
    212213 
    213             $objPurchase->copyFromOrder($arrValues, $arrOtherDeliv, 'shipping', '');; 
     214            $objPurchase->copyFromOrder($arrValues, $arrOtherDeliv, 'shipping', ''); 
    214215            $objPurchase->saveShippingTemp($arrValues); 
    215216            $objPurchase->saveOrderTemp($uniqid, $arrValues, $objCustomer); 
  • 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.