Пример #1
0
 /**
  * Rozbudowany raport błędu dla MK_Exception i MK_Db_Exception.
  * Zapisanie zdarzenia w pliku tekstowym i wysłanie do logs.madkom.pl (dla developer:false)
  *
  * try {
  *    // code
  * } catch (MK_Db_Exception $e) {
  *    //MK_Error::setMoreTraceIgnorePath(array('Spirb->loadModule'));
  *    die($e->getExtendedMessage());
  * } catch (MK_Exception $e) {
  *    die($e->getExtendedMessage());
  * }
  *
  * @param bool $detailedLog
  *
  * @return string
  */
 public function getExtendedMessage($detailedLog = true)
 {
     $retArray = array('success' => false, 'message' => $this->getMessage());
     $_file = $this->getFile();
     $_line = strval($this->getLine());
     $_trace = MK_Error::getExtendedTrace($this);
     $debugMsg = $dbError = '';
     if (MK_Db_PDO_Singleton::isInstance()) {
         $mkDb = new MK_Db_PDO();
         $mkDb->transFail();
         $dbError = $mkDb->getErrorMsg();
     }
     if ($detailedLog == true) {
         if (empty($dbError)) {
             $debugMsg = MK_Error::fromException($retArray['message'], $_file, $_line, $_trace);
         } else {
             $debugMsg = MK_Error::fromDataBase($dbError, $_file, $_line, $_trace);
         }
     } else {
         $debugMsg = empty($dbError) ? $retArray['message'] : $dbError;
     }
     $retArray['debug'] = MK_DEBUG === true ? '<pre>' . $debugMsg . '</pre>' : '';
     if (MK::isAjaxExecution(true)) {
         return json_encode($retArray);
     }
     return $retArray[MK_DEBUG === true ? 'debug' : 'message'];
 }
Пример #2
0
 /**
  * Ustawienie/Odczytanie statusu debugowania zapytań SQL.
  * Podanie parametru $status ustawia nową wartość.
  * Domyślnie zwraca ustawioną wcześniej wartość.
  *
  * @param boolean $status (default:null)
  *
  * @return boolean
  */
 public static function debug($status = null)
 {
     if (is_bool($status)) {
         self::$_debug = $status;
     }
     return self::$_debug;
 }
Пример #3
0
 /**
  * Jeżeli debugowanie jest włączone, to zapisuje wykonane zapytanie SQL do pliku *.log
  *
  * @param $sql
  * @param $params (default:array())
  *
  * @internal param bool $debug (default: true)
  */
 private function debugToFile($sql, $params = array())
 {
     if (MK_Db_PDO_Singleton::debug() === true) {
         if (is_null($this->mkLogs)) {
             $this->mkLogs = new MK_Logs(APP_PATH);
         }
         $devMsg = $this->_prepareFullQuery($sql, $params);
         /** @noinspection PhpUndefinedMethodInspection */
         $this->mkLogs->saveToFile($this->_debugFileName, $devMsg);
     }
 }