Ticket #1395 (assigned 改善提案) — at Version 3

Opened 15 years ago

Last modified 15 years ago

フロント用のアプリログ出力関数

Reported by: habu Owned by: habu
Priority: Milestone: EC-CUBE2.11.2
Component: フロント Version: 2.11.1
Keywords: Cc:
修正済み: yes

Description (last modified by habu) (diff)

管理画面のアプリケーションログは、GC_Utils_Ex::gfPrintLog 関数で出力できるが、
フロント画面のアプリログ出力は、専用の関数が無く、以下の様にして出力するしかない。

GC_Utils_Ex::gfPrintLog("ログメッセージ", CUSTOMER_LOG_REALFILE );

会員ID等を付与してログ出力する、フロント画面用のアプリログ出力関数が欲しい。

#また、簡便にフロントのアプリログを出力できる様になれば、
ソース中にログ出力箇所も増えていき、
不具合発生時の調査(トレース)が行い易くなるものと期待される。

関連チケット: #149

Change History

comment:1 Changed 15 years ago by habu

  • Owner changed from somebody to habu
  • 修正済み set
  • Status changed from new to assigned

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

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

GC_Utils_Ex::gfFrontLog("メッセージ");

でログ出力できます。

また、LC_Pageクラスを継承しているクラス内では、

$this->log("メッセージ");

でログ出力できます。
この場合、ログイン中ユーザの顧客IDも含めてログ出力します。

comment:2 Changed 15 years ago by habu

出力されるログのフォーマットは以下の通りです:
(顧客IDは、LC_Page::log()を利用した場合のみ出力)

日時 [呼び出しファイルパス] クラス名::関数(行数) メッセージ user=顧客ID from 接続元IPアドレス

実例:
お届け先指定時のログ

2011/07/04 16:47:01 [html/shopping/deliv.php] LC_Page_Shopping_Deliv::registerDeliv(116) register deliv. deliv_check=15 user=6 from 192.168.1.171

注文完了時のログ

2011/07/04 16:47:19 [html/shopping/confirm.php] SC_Helper_Purchase::completeOrder(160) order complete. customerId=6 from 192.168.1.171

comment:3 Changed 15 years ago by habu

  • Description modified (diff)
Note: See TracTickets for help on using tickets.