/usr/share/php/Horde/Log/Formatter/Xml.php is in php-horde-log 2.1.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <?php
/**
* Horde Log package
*
* This package is based on Zend_Log from the Zend Framework
* (http://framework.zend.com). Both that package and this
* one were written by Mike Naberezny and Chuck Hagenbuch.
*
* @author Mike Naberezny <mike@maintainable.com>
* @author Chuck Hagenbuch <chuck@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/bsd BSD
* @package Log
* @subpackage Formatters
*/
/**
* @author Mike Naberezny <mike@maintainable.com>
* @author Chuck Hagenbuch <chuck@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/bsd BSD
* @package Log
* @subpackage Formatters
*/
class Horde_Log_Formatter_Xml implements Horde_Log_Formatter
{
/**
* Config options.
*
* @var array
*/
protected $_options = array(
'elementEntry' => 'log',
'elementTimestamp' => 'timestamp',
'elementMessage' => 'message',
'elementLevel' => 'level',
'lineEnding' => PHP_EOL
);
/**
* Constructor.
*
* TODO
*/
public function __construct($options = array())
{
$this->_options = array_merge($this->_options, $options);
}
/**
* Formats an event to be written by the handler.
*
* @param array $event Log event.
*
* @return string XML string.
*/
public function format($event)
{
$dom = new DOMDocument();
$elt = $dom->appendChild(new DOMElement($this->_options['elementEntry']));
$elt->appendChild(new DOMElement($this->_options['elementTimestamp'], date('c')));
$elt->appendChild(new DOMElement($this->_options['elementMessage'], $event['message']));
$elt->appendChild(new DOMElement($this->_options['elementLevel'], $event['level']));
return preg_replace('/<\?xml version="1.0"( encoding="[^\"]*")?\?>\n/u', '', $dom->saveXML()) . $this->_options['lineEnding'];
}
}
|