Beispiel #1
0
 private static function log($level, $string, $statsLog = false)
 {
     if (php_sapi_name() === 'cli' || defined('STDIN')) {
         // we are being executed from the CLI, nowhere to log
         return;
     }
     if (self::$loggingHandler === null) {
         // Initialize logging
         self::createLoggingHandler();
         if (!empty(self::$earlyLog)) {
             error_log('----------------------------------------------------------------------');
             // output messages which were logged before we properly initialized logging
             foreach (self::$earlyLog as $msg) {
                 self::log($msg['level'], $msg['string'], $msg['statsLog']);
             }
         }
     } elseif (self::$loggingHandler === false) {
         // some error occurred while initializing logging
         if (empty(self::$earlyLog)) {
             // this is the first message
             error_log('--- Log message(s) while initializing logging ------------------------');
         }
         error_log($string);
         self::defer($level, $string, $statsLog);
         return;
     }
     if (self::$captureLog) {
         $ts = microtime(true);
         $msecs = (int) (($ts - (int) $ts) * 1000);
         $ts = GMdate('H:i:s', $ts) . sprintf('.%03d', $msecs) . 'Z';
         self::$capturedLog[] = $ts . ' ' . $string;
     }
     if (self::$logLevel >= $level || $statsLog) {
         if (is_array($string)) {
             $string = implode(",", $string);
         }
         $formats = array('%trackid', '%msg', '%srcip', '%stat');
         $replacements = array(self::$trackid, $string, $_SERVER['REMOTE_ADDR']);
         $stat = '';
         if ($statsLog) {
             $stat = 'STAT ';
         }
         array_push($replacements, $stat);
         if (self::$trackid === self::NO_TRACKID && !self::$shuttingDown) {
             // we have a log without track ID and we are not still shutting down, so defer logging
             self::defer($level, $string, $statsLog);
             return;
         } elseif (self::$trackid === self::NO_TRACKID) {
             // shutting down without a track ID, prettify it
             array_shift($replacements);
             array_unshift($replacements, 'N/A');
         }
         // we either have a track ID or we are shutting down, so just log the message
         $string = str_replace($formats, $replacements, self::$format);
         self::$loggingHandler->log($level, $string);
     }
 }
Beispiel #2
0
 private static function log($level, $string, $statsLog = false)
 {
     if (php_sapi_name() === 'cli' || defined('STDIN')) {
         // we are being executed from the CLI, nowhere to log
         return;
     }
     if (self::$loggingHandler === null) {
         /* Initialize logging. */
         self::createLoggingHandler();
         if (!empty(self::$earlyLog)) {
             error_log('----------------------------------------------------------------------');
             // output messages which were logged before we properly initialized logging
             foreach (self::$earlyLog as $msg) {
                 self::log($msg['level'], $msg['string'], $msg['statsLog']);
             }
         }
     } elseif (self::$loggingHandler === false) {
         // some error occurred while initializing logging
         if (empty(self::$earlyLog)) {
             // this is the first message
             error_log('--- Log message(s) while initializing logging ------------------------');
         }
         error_log($string);
         self::$earlyLog[] = array('level' => $level, 'string' => $string, 'statsLog' => $statsLog);
         return;
     }
     if (self::$captureLog) {
         $ts = microtime(true);
         $msecs = (int) (($ts - (int) $ts) * 1000);
         $ts = GMdate('H:i:s', $ts) . sprintf('.%03d', $msecs) . 'Z';
         self::$capturedLog[] = $ts . ' ' . $string;
     }
     if (self::$logLevel >= $level || $statsLog) {
         if (is_array($string)) {
             $string = implode(",", $string);
         }
         $formats = array('%trackid', '%msg', '%srcip', '%stat');
         $replacements = array(self::getTrackId(), $string, $_SERVER['REMOTE_ADDR']);
         $stat = '';
         if ($statsLog) {
             $stat = 'STAT ';
         }
         array_push($replacements, $stat);
         $string = str_replace($formats, $replacements, self::$format);
         self::$loggingHandler->log($level, $string);
     }
 }
 /**
  * Log an error using PEAR::Log
  * @param array $err Error array
  * @param array $levels Error level => Log constant map
  * @access protected
  */
 protected function _log($err, $levels = array('exception' => PEAR_LOG_CRIT, 'alert' => PEAR_LOG_ALERT, 'critical' => PEAR_LOG_CRIT, 'error' => PEAR_LOG_ERR, 'warning' => PEAR_LOG_WARNING, 'notice' => PEAR_LOG_NOTICE, 'info' => PEAR_LOG_INFO, 'debug' => PEAR_LOG_DEBUG))
 {
     if (isset($levels[$err['level']])) {
         $level = $levels[$err['level']];
     } else {
         $level = PEAR_LOG_INFO;
     }
     if ($this->_logger) {
         $this->_logger->log($err['message'], $level, $err);
     } else {
         self::$globallogger->log($err['message'], $level, $err);
     }
 }
Beispiel #4
0
 /**
  * Log an error using PEAR::Log
  * @param array $err Error array
  * @param array $levels Error level => Log constant map
  * @access protected
  */
 function _log($err, $levels = array('exception' => PEAR_LOG_CRIT, 'alert' => PEAR_LOG_ALERT, 'critical' => PEAR_LOG_CRIT, 'error' => PEAR_LOG_ERR, 'warning' => PEAR_LOG_WARNING, 'notice' => PEAR_LOG_NOTICE, 'info' => PEAR_LOG_INFO, 'debug' => PEAR_LOG_DEBUG))
 {
     if (isset($levels[$err['level']])) {
         $level = $levels[$err['level']];
     } else {
         $level = PEAR_LOG_INFO;
     }
     if ($this->_logger) {
         $this->_logger->log($err['message'], $level, $err);
     } else {
         $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER']->log($err['message'], $level, $err);
     }
 }
Beispiel #5
0
 /**
  * Log error message
  * @param string $message
  */
 public function logError($message)
 {
     if (!$this->_log) {
         return;
     }
     $this->_log->log(get_called_class() . ': ' . $message);
 }