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); } }
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); } }
/** * 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); } }
/** * Log error message * @param string $message */ public function logError($message) { if (!$this->_log) { return; } $this->_log->log(get_called_class() . ': ' . $message); }