示例#1
1
文件: demo.php 项目: aikeay/sandbox
function d($arg)
{
    $declared = 'variable';
    ChromePhp::log('xdebug_get_declared_vars', xdebug_get_declared_vars());
    ChromePhp::groupCollapsed('backtrace');
    ChromePhp::log(debug_backtrace());
    ChromePhp::groupEnd();
    ChromePhp::info('Triggered notice.');
    trigger_error('Custom notice', E_USER_NOTICE);
    ChromePhp::warn('Triggered warning.');
    trigger_error('Custom warning', E_USER_WARNING);
    ChromePhp::error('Triggered error.');
    trigger_error('Custom error', E_USER_ERROR);
}
 /**
  * Write the data
  *
  * @param array $event Event Data
  */
 public function _write($event)
 {
     $event = Mage::helper('firegento_logger')->getEventObjectFromArray($event);
     $priority = $event->getPriority();
     $message = $this->_formatter->format($event);
     if ($priority !== false) {
         switch ($priority) {
             case Zend_Log::EMERG:
             case Zend_Log::ALERT:
             case Zend_Log::CRIT:
             case Zend_Log::ERR:
                 ChromePhp::error($message);
                 break;
             case Zend_Log::WARN:
                 ChromePhp::warn($message);
                 break;
             case Zend_Log::NOTICE:
             case Zend_Log::INFO:
             case Zend_Log::DEBUG:
                 ChromePhp::info($message);
                 break;
             default:
                 Mage::log('Unknown loglevel at ' . __CLASS__);
                 break;
         }
     } else {
         Mage::log('Attached message event has no priority - skipping !');
     }
 }
示例#3
0
文件: chromephp.php 项目: demental/m
 public function message($message, $level)
 {
     switch ($level) {
         case 'error':
             ChromePhp::error($message);
             break;
         case 'warning':
             ChromePhp::warning($message);
             break;
         case 'info':
         default:
             ChromePhp::log($message);
             break;
     }
 }
示例#4
0
 /**
  * Using ChromePhp, log the message
  */
 private function chrome_log($message)
 {
     switch ($message->getType()) {
         case PteLogMessage::$ERROR:
             ChromePhp::error($message->getMessage());
             break;
         case PteLogMessage::$WARN:
             ChromePhp::warn($message->getMessage());
             break;
         case PteLogMessage::$INFO:
             ChromePhp::info($message->getMessage());
             break;
         case PteLogMessage::$DEBUG:
         default:
             ChromePhp::log($message->getMessage());
             break;
     }
 }
示例#5
0
 public static function init()
 {
     return function ($info) {
         switch ($info['level']) {
             case \Analog\Analog::DEBUG:
                 \ChromePhp::log($info['message']);
                 break;
             case \Analog\Analog::INFO:
             case \Analog\Analog::NOTICE:
                 \ChromePhp::info($info['message']);
                 break;
             case \Analog\Analog::WARNING:
                 \ChromePhp::warn($info['message']);
                 break;
             case \Analog\Analog::ERROR:
             case \Analog\Analog::CRITICAL:
             case \Analog\Analog::ALERT:
             case \Analog\Analog::URGENT:
                 \ChromePhp::error($info['message']);
                 break;
         }
     };
 }
示例#6
0
     return;
 }
 $oCreds = json_decode(file_get_contents(__DIR__ . "/../creds/google.json"));
 define('CLIENT_ID', $oCreds->ClientID);
 define('CLIENT_SECRET', $oCreds->ClientSecret);
 define('CALLBACK_URL', (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . "/login");
 define('TOKEN_URL', 'https://accounts.google.com/o/oauth2/token');
 define('INFO_URL', 'https://www.googleapis.com/oauth2/v1/userinfo');
 $params = array('code' => $_GET['code'], 'grant_type' => 'authorization_code', 'redirect_uri' => CALLBACK_URL, 'client_id' => CLIENT_ID, 'client_secret' => CLIENT_SECRET);
 $params = http_build_query($params, "", "&");
 $header = array("Content-Type: application/x-www-form-urlencoded", "Content-Length: " . strlen($params));
 $options = array('http' => array('method' => 'POST', 'header' => implode("\r\n", $header), 'content' => $params));
 $oRes = file_get_contents(TOKEN_URL, false, stream_context_create($options));
 $token = json_decode($oRes, true);
 if (isset($token['error'])) {
     ChromePhp::error('error');
     exit;
 }
 $access_token = $token['access_token'];
 $params = array('access_token' => $access_token);
 $oRes = file_get_contents(INFO_URL . '?' . http_build_query($params));
 $oUserInfo = json_decode($oRes);
 ChromePhp::info($oUserInfo);
 ChromePhp::info("GetUserInfo success");
 if (isset($oCreds->Users)) {
     foreach ($oCreds->Users as $sEmail) {
         if ($sEmail == $oUserInfo->email) {
             $_SESSION['loggedin'] = True;
             ChromePhp::info("Login success");
             break;
         }
示例#7
0
 public static function error($id, $message)
 {
     if (!Logger::$test) {
         ChromePhp::error($id . ":" . $message);
     }
 }
 /**
  * 	Output log content
  *
  *	@param	array	$content	Content to log
  * 	@return	void
  */
 public function export($content)
 {
     global $conf;
     if (!empty($conf->global->MAIN_SYSLOG_DISABLE_CHROMEPHP)) {
         return;
     }
     // Global option to disable output of this handler
     //We check the configuration to avoid showing PHP warnings
     if (count($this->checkConfiguration())) {
         return false;
     }
     try {
         // Warning ChromePHP must be into PHP include path. It is not possible to use into require_once() a constant from
         // database or config file because we must be able to log data before database or config file read.
         $oldinclude = get_include_path();
         set_include_path(SYSLOG_CHROMEPHP_INCLUDEPATH);
         include_once 'ChromePhp.class.php';
         set_include_path($oldinclude);
         ob_start();
         // To be sure headers are not flushed until all page is completely processed
         if ($content['level'] == LOG_ERR) {
             ChromePhp::error($content['message']);
         } elseif ($content['level'] == LOG_WARNING) {
             ChromePhp::warn($content['message']);
         } elseif ($content['level'] == LOG_INFO) {
             ChromePhp::log($content['message']);
         } else {
             ChromePhp::log($content['message']);
         }
     } catch (Exception $e) {
         // Do not use dol_syslog here to avoid infinite loop
     }
 }
示例#9
0
 public static function handleError($code, $description, $file = null, $line = null, $context = null)
 {
     ChromePhp::error('PHP Error Code ' . $code . ': ' . $description . ' ' . $file . ':' . $line);
 }
示例#10
0
 /**
  * Log to chrome console
  * @param $data, array, the data to be logged.
  * @param $target, the target module name, "data" as default
  * @param $type, string log level.
  * @author Vincent Hou
  **/
 private static function _logChrome($data, $target = "data", $type = "error")
 {
     $logContent = ['level' => $type, 'module' => $target, 'data' => $data];
     switch ($type) {
         case 'info':
             \ChromePhp::info(json_encode($logContent));
             break;
         case 'warn':
             \ChromePhp::warn($logContent);
             break;
         default:
             \ChromePhp::error($logContent);
             break;
     }
 }
示例#11
0
 static function outputBrowser($type, $data)
 {
     // Browser Extensions
     if (CONSOLE_FIREPHP) {
         try {
             //if (!in_array($type, array("log", "info", "warn", "error"))) { $type = "log"; }
             //FirePHP::{$type}($data);
             switch ($type) {
                 case "log":
                     FirePHP::log($data);
                     break;
                 case "info":
                     FirePHP::info($data);
                     break;
                 case "warn":
                     FirePHP::warn($data);
                     break;
                 case "error":
                     FirePHP::error($data);
                     break;
                 default:
                     FirePHP::log($data);
                     break;
             }
         } catch (Exception $e) {
         }
     }
     if (CONSOLE_CHROMELOGGER) {
         try {
             //if (!in_array($type, array("log", "info", "warn", "error", "group", , "groupCollapsed", "groupEnd"))) { $type = "log"; }
             //ChromePhp::{$type}($data);
             switch ($type) {
                 case "log":
                     ChromePhp::log($data);
                     break;
                 case "info":
                     ChromePhp::info($data);
                     break;
                 case "warn":
                     ChromePhp::warn($data);
                     break;
                 case "error":
                     ChromePhp::error($data);
                     break;
                 case "group":
                     ChromePhp::group($data);
                     break;
                 case "groupCollapsed":
                     ChromePhp::groupCollapsed($data);
                     break;
                 case "groupEnd":
                     ChromePhp::groupEnd($data);
                     break;
                 default:
                     ChromePhp::log($data);
                     break;
             }
         } catch (Exception $e) {
         }
     }
 }
示例#12
0
 public static function error($id, $message)
 {
     ChromePhp::error($id . ":" . $message);
 }
示例#13
0
 public function afterFilter()
 {
     parent::afterFilter();
     // sql logging to chrome console
     if (class_exists('ConnectionManager') && Configure::read('debug') >= 2) {
         App::import('Vendor', 'ChromePhp/ChromePhp');
         $sources = ConnectionManager::sourceList();
         $logs = array();
         foreach ($sources as $source) {
             $db = ConnectionManager::getDataSource($source);
             $logs[$source] = $db->getLog();
         }
         foreach ($logs as $source => $logInfo) {
             $text = $logInfo['count'] > 1 ? 'queries' : 'query';
             ChromePhp::info('------- SQL: ' . sprintf('(%s) %s %s took %s ms', $source, count($logInfo['log']), $text, $logInfo['time']) . ' -------');
             ChromePhp::info('------- REQUEST: ' . $this->request->params['controller'] . '/' . $this->request->params['action'] . ' -------');
             foreach ($logInfo['log'] as $k => $i) {
                 $i += array('error' => '');
                 if (!empty($i['params']) && is_array($i['params'])) {
                     $bindParam = $bindType = null;
                     if (preg_match('/.+ :.+/', $i['query'])) {
                         $bindType = true;
                     }
                     foreach ($i['params'] as $bindKey => $bindVal) {
                         if ($bindType === true) {
                             $bindParam .= h($bindKey) . " => " . h($bindVal) . ", ";
                         } else {
                             $bindParam .= h($bindVal) . ", ";
                         }
                     }
                     $i['query'] .= " , params[ " . rtrim($bindParam, ', ') . " ]";
                 }
                 $error = !empty($i['error']) ? "\nError: " . $i['error'] : "\n";
                 $logStr = $i['query'] . $error . "\nAffected: " . $i['affected'] . "\nNum. Rows: " . $i['numRows'] . "\nTook(ms): " . $i['took'] . "\n\n";
                 if (!empty($i['error'])) {
                     ChromePhp::error($logStr);
                 } else {
                     if ($i['took'] >= 100) {
                         ChromePhp::warn($logStr);
                     } else {
                         ChromePhp::info($logStr);
                     }
                 }
             }
         }
     }
 }