diff --git a/library/log4php/layouts/LoggerLayoutXml.php b/library/log4php/layouts/LoggerLayoutXml.php deleted file mode 100644 --- a/library/log4php/layouts/LoggerLayoutXml.php +++ /dev/null @@ -1,210 +0,0 @@ -It does not output a complete well-formed XML file. - * The output is designed to be included as an external entity in a separate file to form - * a correct XML file.

- * - * Example: - * - * {@example ../../examples/php/layout_xml.php 19}
- * - * {@example ../../examples/resources/layout_xml.properties 18}
- * - * The above would print: - * - *
- * 
- *    
- *        
- *        
- *    
- * 
- * 
- * - * @version $Revision: 1213283 $ - * @package log4php - * @subpackage layouts - */ -class LoggerLayoutXml extends LoggerLayout { - const LOG4J_NS_PREFIX = 'log4j'; - const LOG4J_NS = 'http://jakarta.apache.org/log4j/'; - - const LOG4PHP_NS_PREFIX = 'log4php'; - const LOG4PHP_NS = 'http://logging.apache.org/log4php/'; - - const CDATA_START = ''; - const CDATA_PSEUDO_END = ']]>'; - const CDATA_EMBEDDED_END = ']]>]]>getLog4jNamespace()) { - $this->namespace = self::LOG4J_NS; - $this->namespacePrefix = self::LOG4J_NS_PREFIX; - } else { - $this->namespace = self::LOG4PHP_NS; - $this->namespacePrefix = self::LOG4PHP_NS_PREFIX; - } - } - - /** - * @return string - */ - public function getHeader() { - return "<{$this->namespacePrefix}:eventSet " . - "xmlns:{$this->namespacePrefix}=\"{$this->namespace}\" " . - "version=\"0.3\" " . - "includesLocationInfo=\"" . ($this->getLocationInfo() ? "true" : "false") . "\"" . - ">" . PHP_EOL; - } - - /** - * Formats a {@link LoggerLoggingEvent} in conformance with the log4php.dtd. - * - * @param LoggerLoggingEvent $event - * @return string - */ - public function format(LoggerLoggingEvent $event) { - $ns = $this->namespacePrefix; - - $loggerName = $event->getLoggerName(); - $timeStamp = number_format((float)($event->getTimeStamp() * 1000), 0, '', ''); - $thread = $event->getThreadName(); - $level = $event->getLevel()->toString(); - - $buf = "<$ns:event logger=\"{$loggerName}\" level=\"{$level}\" thread=\"{$thread}\" timestamp=\"{$timeStamp}\">" . PHP_EOL; - $buf .= "<$ns:message>"; - $buf .= $this->encodeCDATA($event->getRenderedMessage()); - $buf .= "" . PHP_EOL; - - $ndc = $event->getNDC(); - if (!empty($ndc)) { - $buf .= "<$ns:NDC>encodeCDATA($ndc); - $buf .= "]]>" . PHP_EOL; - } - - $mdcMap = $event->getMDCMap(); - if (!empty($mdcMap)) { - $buf .= "<$ns:properties>" . PHP_EOL; - foreach ($mdcMap as $name => $value) { - $buf .= "<$ns:data name=\"$name\" value=\"$value\" />" . PHP_EOL; - } - $buf .= "" . PHP_EOL; - } - - if ($this->getLocationInfo()) { - $locationInfo = $event->getLocationInformation(); - $buf .= "<$ns:locationInfo " . - "class=\"" . $locationInfo->getClassName() . "\" " . - "file=\"" . htmlentities($locationInfo->getFileName(), ENT_QUOTES) . "\" " . - "line=\"" . $locationInfo->getLineNumber() . "\" " . - "method=\"" . $locationInfo->getMethodName() . "\" "; - $buf .= "/>" . PHP_EOL; - } - - $buf .= "" . PHP_EOL; - - return $buf; - } - - /** - * @return string - */ - public function getFooter() { - return "namespacePrefix}:eventSet>" . PHP_EOL; - } - - - /** - * Whether or not file name and line number will be included in the output. - * @return boolean - */ - public function getLocationInfo() { - return $this->locationInfo; - } - - /** - * The {@link $locationInfo} option takes a boolean value. By default, - * it is set to false which means there will be no location - * information output by this layout. If the the option is set to - * true, then the file name and line number of the statement at the - * origin of the log statement will be output. - */ - public function setLocationInfo($flag) { - $this->setBoolean('locationInfo', $flag); - } - - /** - * @return boolean - */ - public function getLog4jNamespace() { - return $this->log4jNamespace; - } - - /** - * @param boolean - */ - public function setLog4jNamespace($flag) { - $this->setBoolean('log4jNamespace', $flag); - } - - /** - * Encases a string in CDATA tags, and escapes any existing CDATA end - * tags already present in the string. - * @param string $string - */ - private function encodeCDATA($string) { - $string = str_replace(self::CDATA_END, self::CDATA_EMBEDDED_END, $string); - return self::CDATA_START . $string . self::CDATA_END; - } -} -