示例#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
 private function __construct()
 {
     // Handles debugging. If TRUE, displays all errors and enables FirePHP logging
     if (ACTIVATE_DEBUG_MODE === TRUE) {
         ini_set("display_errors", 1);
         ERROR_REPORTING(E_ALL);
         FB::setEnabled(TRUE);
         FB::warn("FirePHP logging is enabled! Sensitive data may be exposed.");
         ChromePhp::warn("ChromePHP logging is enabled! Sensitive data may be exposed.");
     } else {
         ini_set("display_errors", 0);
         error_reporting(0);
         FB::setEnabled(FALSE);
     }
 }
示例#4
0
 /**
  * Using ChromePhp, log the message
  */
 public function handle(PteLogMessage $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
 public static function warn($id, $message)
 {
     if (!Logger::$test) {
         ChromePhp::warn($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
     }
 }
示例#8
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;
     }
 }
示例#9
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) {
         }
     }
 }
示例#10
0
 public static function warn($id, $message)
 {
     ChromePhp::warn($id . ":" . $message);
 }
示例#11
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);
                     }
                 }
             }
         }
     }
 }