library/log4php/LoggerLoggingEvent.php
changeset 46 f11c31f7fa3e
parent 45 a56e7f9a0463
child 47 03388ec805b4
deleted file mode 100644
--- a/library/log4php/LoggerLoggingEvent.php
+++ /dev/null
@@ -1,370 +0,0 @@
-<?php
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @package log4php
- */
-
-/**
- * The internal representation of logging event.
- *
- * @version $Revision: 1382273 $
- * @package log4php
- */
-class LoggerLoggingEvent {
-
-    private static $startTime;
-
-    /**
-     * @var string Fully Qualified Class Name of the calling category class.
-     */
-    private $fqcn;
-
-    /**
-     * @var Logger reference
-     */
-    private $logger;
-
-    /**
-     * The category (logger) name.
-     * This field will be marked as private in future
-     * releases. Please do not access it directly.
-     * Use the {@link getLoggerName()} method instead.
-     * @deprecated
-     */
-    private $categoryName;
-
-    /**
-     * Level of the logging event.
-     * @var LoggerLevel
-     */
-    protected $level;
-
-    /**
-     * The nested diagnostic context (NDC) of logging event.
-     * @var string
-     */
-    private $ndc;
-
-    /**
-     * Have we tried to do an NDC lookup? If we did, there is no need
-     * to do it again.    Note that its value is always false when
-     * serialized. Thus, a receiving SocketNode will never use it's own
-     * (incorrect) NDC. See also writeObject method.
-     * @var boolean
-     */
-    private $ndcLookupRequired = true;
-
-    /**
-     * @var mixed The application supplied message of logging event.
-     */
-    private $message;
-
-    /**
-     * The application supplied message rendered through the log4php
-     * objet rendering mechanism. At present renderedMessage == message.
-     * @var string
-     */
-    private $renderedMessage;
-
-    /**
-     * The name of thread in which this logging event was generated.
-     * log4php saves here the process id via {@link PHP_MANUAL#getmypid getmypid()}
-     * @var mixed
-     */
-    private $threadName;
-
-    /**
-     * The number of seconds elapsed from 1/1/1970 until logging event
-     * was created plus microseconds if available.
-     * @var float
-     */
-    public $timeStamp;
-
-    /**
-     * @var LoggerLocationInfo Location information for the caller.
-     */
-    private $locationInfo;
-
-    /**
-     * @var LoggerThrowableInformation log4php internal representation of throwable
-     */
-    private $throwableInfo;
-
-    /**
-     * Instantiate a LoggingEvent from the supplied parameters.
-     *
-     * Except {@link $timeStamp} all the other fields of
-     * LoggerLoggingEvent are filled when actually needed.
-     *
-     * @param string $fqcn name of the caller class.
-     * @param mixed $logger The {@link Logger} category of this event or the logger name.
-     * @param LoggerLevel $level The level of this event.
-     * @param mixed $message The message of this event.
-     * @param integer $timeStamp the timestamp of this logging event.
-     * @param Exception $throwable The throwable associated with logging event
-     */
-    public function __construct($fqcn, $logger, LoggerLevel $level, $message, $timeStamp = null, $throwable = null) {
-        $this->fqcn = $fqcn;
-        if ($logger instanceof Logger) {
-            $this->logger = $logger;
-            $this->categoryName = $logger->getName();
-        } else {
-            $this->categoryName = strval($logger);
-        }
-        $this->level = $level;
-        $this->message = $message;
-        if ($timeStamp !== null && is_numeric($timeStamp)) {
-            $this->timeStamp = $timeStamp;
-        } else {
-            $this->timeStamp = microtime(true);
-        }
-
-        if ($throwable !== null && $throwable instanceof Exception) {
-            $this->throwableInfo = new LoggerThrowableInformation($throwable);
-        }
-    }
-
-    /**
-     * Returns the full qualified classname.
-     * TODO: PHP does contain namespaces in 5.3. Those should be returned too,
-     */
-    public function getFullQualifiedClassname() {
-        return $this->fqcn;
-    }
-
-    /**
-     * Set the location information for this logging event. The collected
-     * information is cached for future use.
-     *
-     * <p>This method uses {@link PHP_MANUAL#debug_backtrace debug_backtrace()} function (if exists)
-     * to collect informations about caller.</p>
-     * <p>It only recognize informations generated by {@link Logger} and its subclasses.</p>
-     * @return LoggerLocationInfo
-     */
-    public function getLocationInformation() {
-        if ($this->locationInfo === null) {
-
-            $locationInfo = array();
-            $trace = debug_backtrace();
-            $prevHop = null;
-            // make a downsearch to identify the caller
-            $hop = array_pop($trace);
-            while ($hop !== null) {
-                if (isset($hop['class'])) {
-                    // we are sometimes in functions = no class available: avoid php warning here
-                    $className = strtolower($hop['class']);
-                    if (!empty($className) and ($className == 'logger' or
-                            strtolower(get_parent_class($className)) == 'logger')
-                    ) {
-                        $locationInfo['line'] = $hop['line'];
-                        $locationInfo['file'] = $hop['file'];
-                        break;
-                    }
-                }
-                $prevHop = $hop;
-                $hop = array_pop($trace);
-            }
-            $locationInfo['class'] = isset($prevHop['class']) ? $prevHop['class'] : 'main';
-            if (isset($prevHop['function']) and
-                $prevHop['function'] !== 'include' and
-                $prevHop['function'] !== 'include_once' and
-                $prevHop['function'] !== 'require' and
-                $prevHop['function'] !== 'require_once'
-            ) {
-
-                $locationInfo['function'] = $prevHop['function'];
-            } else {
-                $locationInfo['function'] = 'main';
-            }
-
-            $this->locationInfo = new LoggerLocationInfo($locationInfo, $this->fqcn);
-        }
-        return $this->locationInfo;
-    }
-
-    /**
-     * Return the level of this event. Use this form instead of directly
-     * accessing the {@link $level} field.
-     * @return LoggerLevel
-     */
-    public function getLevel() {
-        return $this->level;
-    }
-
-    /**
-     * Returns the logger which created the event.
-     * @return Logger
-     */
-    public function getLogger() {
-        return $this->logger;
-    }
-
-    /**
-     * Return the name of the logger. Use this form instead of directly
-     * accessing the {@link $categoryName} field.
-     * @return string
-     */
-    public function getLoggerName() {
-        return $this->categoryName;
-    }
-
-    /**
-     * Return the message for this logging event.
-     * @return mixed
-     */
-    public function getMessage() {
-        return $this->message;
-    }
-
-    /**
-     * This method returns the NDC for this event. It will return the
-     * correct content even if the event was generated in a different
-     * thread or even on a different machine. The {@link LoggerNDC::get()} method
-     * should <b>never</b> be called directly.
-     * @return string
-     */
-    public function getNDC() {
-        if ($this->ndcLookupRequired) {
-            $this->ndcLookupRequired = false;
-            $this->ndc = LoggerNDC::get();
-        }
-        return $this->ndc;
-    }
-
-    /**
-     * Returns the the context corresponding to the <code>key</code>
-     * parameter.
-     * @return string
-     */
-    public function getMDC($key) {
-        return LoggerMDC::get($key);
-    }
-
-    /**
-     * Returns the entire MDC context.
-     * @return array
-     */
-    public function getMDCMap() {
-        return LoggerMDC::getMap();
-    }
-
-    /**
-     * Render message.
-     * @return string
-     */
-    public function getRenderedMessage() {
-        if ($this->renderedMessage === null and $this->message !== null) {
-            if (is_string($this->message)) {
-                $this->renderedMessage = $this->message;
-            } else {
-                $rendererMap = Logger::getHierarchy()->getRendererMap();
-                $this->renderedMessage = $rendererMap->findAndRender($this->message);
-            }
-        }
-        return $this->renderedMessage;
-    }
-
-    /**
-     * Returns the time when the application started, as a UNIX timestamp
-     * with microseconds.
-     * @return float
-     */
-    public static function getStartTime() {
-        if (!isset(self::$startTime)) {
-            self::$startTime = microtime(true);
-        }
-        return self::$startTime;
-    }
-
-    /**
-     * @return float
-     */
-    public function getTimeStamp() {
-        return $this->timeStamp;
-    }
-
-    /**
-     * Returns the time in seconds passed from the beginning of execution to
-     * the time the event was constructed.
-     *
-     * @return float Seconds with microseconds in decimals.
-     */
-    public function getRelativeTime() {
-        return $this->timeStamp - self::$startTime;
-    }
-
-    /**
-     * Returns the time in milliseconds passed from the beginning of execution
-     * to the time the event was constructed.
-     *
-     * @deprecated This method has been replaced by getRelativeTime which
-     *        does not perform unneccesary multiplication and formatting.
-     *
-     * @return integer
-     */
-    public function getTime() {
-        $eventTime = $this->getTimeStamp();
-        $eventStartTime = LoggerLoggingEvent::getStartTime();
-        return number_format(($eventTime - $eventStartTime) * 1000, 0, '', '');
-    }
-
-    /**
-     * @return mixed
-     */
-    public function getThreadName() {
-        if ($this->threadName === null) {
-            $this->threadName = (string)getmypid();
-        }
-        return $this->threadName;
-    }
-
-    /**
-     * @return mixed LoggerThrowableInformation
-     */
-    public function getThrowableInformation() {
-        return $this->throwableInfo;
-    }
-
-    /**
-     * Serialize this object
-     * @return string
-     */
-    public function toString() {
-        serialize($this);
-    }
-
-    /**
-     * Avoid serialization of the {@link $logger} object
-     */
-    public function __sleep() {
-        return array(
-            'fqcn',
-            'categoryName',
-            'level',
-            'ndc',
-            'ndcLookupRequired',
-            'message',
-            'renderedMessage',
-            'threadName',
-            'timeStamp',
-            'locationInfo',
-        );
-    }
-
-}
-
-LoggerLoggingEvent::getStartTime();