123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- <?php
- if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
- define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS_PREFIX', 'log4j');
- define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS', 'http://jakarta.apache.org/log4j/');
- define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX', 'log4php');
- define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS', 'http://www.vxr.it/log4php/');
- require_once(LOG4PHP_DIR . '/helpers/LoggerOptionConverter.php');
- require_once(LOG4PHP_DIR . '/helpers/LoggerTransform.php');
- require_once(LOG4PHP_DIR . '/LoggerLayout.php');
- class LoggerXmlLayout extends LoggerLayout {
-
- var $locationInfo = true;
-
-
- var $log4jNamespace = false;
-
-
-
- var $_namespace = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS;
-
-
- var $_namespacePrefix = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX;
-
-
- function activateOptions()
- {
- if ($this->getLog4jNamespace()) {
- $this->_namespace = LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS;
- $this->_namespacePrefix = LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS_PREFIX;
- } else {
- $this->_namespace = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS;
- $this->_namespacePrefix = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX;
- }
- }
-
-
- function getHeader()
- {
- return "<{$this->_namespacePrefix}:eventSet ".
- "xmlns:{$this->_namespacePrefix}=\"{$this->_namespace}\" ".
- "version=\"0.3\" ".
- "includesLocationInfo=\"".($this->getLocationInfo() ? "true" : "false")."\"".
- ">\r\n";
- }
-
- function format($event)
- {
- $loggerName = $event->getLoggerName();
- $timeStamp = number_format((float)($event->getTimeStamp() * 1000), 0, '', '');
- $thread = $event->getThreadName();
- $level = $event->getLevel();
- $levelStr = $level->toString();
- $buf = "<{$this->_namespacePrefix}:event logger=\"{$loggerName}\" level=\"{$levelStr}\" thread=\"{$thread}\" timestamp=\"{$timeStamp}\">\r\n";
- $buf .= "<{$this->_namespacePrefix}:message><![CDATA[";
- LoggerTransform::appendEscapingCDATA($buf, $event->getRenderedMessage());
- $buf .= "]]></{$this->_namespacePrefix}:message>\r\n";
- $ndc = $event->getNDC();
- if($ndc != null) {
- $buf .= "<{$this->_namespacePrefix}:NDC><![CDATA[";
- LoggerTransform::appendEscapingCDATA($buf, $ndc);
- $buf .= "]]></{$this->_namespacePrefix}:NDC>\r\n";
- }
- if ($this->getLocationInfo()) {
- $locationInfo = $event->getLocationInformation();
- $buf .= "<{$this->_namespacePrefix}:locationInfo ".
- "class=\"" . $locationInfo->getClassName() . "\" ".
- "file=\"" . htmlentities($locationInfo->getFileName(), ENT_QUOTES) . "\" ".
- "line=\"" . $locationInfo->getLineNumber() . "\" ".
- "method=\"" . $locationInfo->getMethodName() . "\" ";
- $buf .= "/>\r\n";
- }
- $buf .= "</{$this->_namespacePrefix}:event>\r\n\r\n";
-
- return $buf;
- }
-
-
- function getFooter()
- {
- return "</{$this->_namespacePrefix}:eventSet>\r\n";
- }
-
-
- function getLocationInfo()
- {
- return $this->locationInfo;
- }
-
-
- function getLog4jNamespace()
- {
- return $this->log4jNamespace;
- }
-
- function ignoresThrowable()
- {
- return false;
- }
-
-
- function setLocationInfo($flag)
- {
- $this->locationInfo = LoggerOptionConverter::toBoolean($flag, true);
- }
-
-
- function setLog4jNamespace($flag)
- {
- $this->log4jNamespace = LoggerOptionConverter::toBoolean($flag, true);
- }
- }
- ?>
|