/**
  * エラーメッセージを生成する
  *
  * @return string
  */
 function sfGetErrMsg()
 {
     $errmsg = '';
     $errmsg .= $this->lfGetErrMsgHead();
     $errmsg .= "\n";
     // デバッグ用のメッセージが指定されている場合
     if (!empty($this->arrDebugMsg)) {
         $errmsg .= implode("\n\n", $this->arrDebugMsg) . "\n";
     }
     // PEAR エラーを伴う場合
     if (!is_null($this->pearResult)) {
         $errmsg .= $this->pearResult->message . "\n\n";
         $errmsg .= $this->pearResult->userinfo . "\n\n";
         $errmsg .= GC_Utils_Ex::toStringBacktrace($this->pearResult->backtrace);
     } else {
         if (is_array($this->backtrace)) {
             $errmsg .= GC_Utils_Ex::toStringBacktrace($this->backtrace);
         } else {
             $arrBacktrace = GC_Utils_Ex::getDebugBacktrace();
             $errmsg .= GC_Utils_Ex::toStringBacktrace($arrBacktrace);
         }
     }
     return $errmsg;
 }
Exemple #2
0
 /**
  * ログの出力を行う
  *
  * エラー・警告は trigger_error() を経由して利用すること。(補足の出力は例外。)
  * @param string $msg
  * @param string $path
  * @param bool $verbose 冗長な出力を行うか
  */
 function gfPrintLog($msg, $path = '', $verbose = USE_VERBOSE_LOG)
 {
     // 日付の取得
     $today = date('Y/m/d H:i:s');
     // 出力パスの作成
     if (strlen($path) === 0) {
         $path = GC_Utils_Ex::isAdminFunction() ? ADMIN_LOG_REALFILE : LOG_REALFILE;
     }
     $msg = "{$today} [{$_SERVER['SCRIPT_NAME']}] {$msg} from {$_SERVER['REMOTE_ADDR']}\n";
     if ($verbose) {
         if (GC_Utils_Ex::isFrontFunction()) {
             $msg .= 'customer_id = ' . $_SESSION['customer']['customer_id'] . "\n";
         }
         if (GC_Utils_Ex::isAdminFunction()) {
             $msg .= 'login_id = ' . $_SESSION['login_id'] . '(' . $_SESSION['authority'] . ')' . '[' . session_id() . ']' . "\n";
         }
         $msg .= GC_Utils_Ex::toStringBacktrace(GC_Utils_Ex::getDebugBacktrace());
     }
     error_log($msg, 3, $path);
     // ログテーション
     GC_Utils_Ex::gfLogRotation(MAX_LOG_QUANTITY, MAX_LOG_SIZE, $path);
 }