Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
3 / 3 |
CRAP | |
100.00% |
32 / 32 |
LoggerPatternConverter | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
12 | |
100.00% |
32 / 32 |
__construct(LoggerFormattingInfo $formattingInfo = null, $option = null) | |
100.00% |
1 / 1 |
1 | |
100.00% |
4 / 4 |
|||
activateOptions() | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
convert(LoggerLoggingEvent $event) | |
100.00% |
1 / 1 |
1 | ||||||
format(&$sbuf, $event) | |
100.00% |
1 / 1 |
9 | |
100.00% |
27 / 27 |
<?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 | |
*/ | |
/** | |
* LoggerPatternConverter is an abstract class that provides the formatting | |
* functionality that derived classes need. | |
* | |
* <p>Conversion specifiers in a conversion patterns are parsed to | |
* individual PatternConverters. Each of which is responsible for | |
* converting a logging event in a converter specific manner.</p> | |
* | |
* @version $Revision: 1326626 $ | |
* @package log4php | |
* @subpackage helpers | |
* @since 0.3 | |
*/ | |
abstract class LoggerPatternConverter { | |
/** | |
* Next converter in the converter chain. | |
* @var LoggerPatternConverter | |
*/ | |
public $next = null; | |
/** | |
* Formatting information, parsed from pattern modifiers. | |
* @var LoggerFormattingInfo | |
*/ | |
protected $formattingInfo; | |
/** | |
* Converter-specific formatting options. | |
* @var array | |
*/ | |
protected $option; | |
/** | |
* Constructor | |
* @param LoggerFormattingInfo $formattingInfo | |
* @param array $option | |
*/ | |
public function __construct(LoggerFormattingInfo $formattingInfo = null, $option = null) { | |
$this->formattingInfo = $formattingInfo; | |
$this->option = $option; | |
$this->activateOptions(); | |
} | |
/** | |
* Called in constructor. Converters which need to process the options | |
* can override this method. | |
*/ | |
public function activateOptions() { } | |
/** | |
* Converts the logging event to the desired format. Derived pattern | |
* converters must implement this method. | |
* | |
* @param LoggerLoggingEvent $event | |
*/ | |
abstract public function convert(LoggerLoggingEvent $event); | |
/** | |
* Converts the event and formats it according to setting in the | |
* Formatting information object. | |
* | |
* @param string &$sbuf string buffer to write to | |
* @param LoggerLoggingEvent $event Event to be formatted. | |
*/ | |
public function format(&$sbuf, $event) { | |
$string = $this->convert($event); | |
if (!isset($this->formattingInfo)) { | |
$sbuf .= $string; | |
return; | |
} | |
$fi = $this->formattingInfo; | |
// Empty string | |
if($string === '' || is_null($string)) { | |
if($fi->min > 0) { | |
$sbuf .= str_repeat(' ', $fi->min); | |
} | |
return; | |
} | |
$len = strlen($string); | |
// Trim the string if needed | |
if($len > $fi->max) { | |
if ($fi->trimLeft) { | |
$sbuf .= substr($string, $len - $fi->max, $fi->max); | |
} else { | |
$sbuf .= substr($string , 0, $fi->max); | |
} | |
} | |
// Add padding if needed | |
else if($len < $fi->min) { | |
if($fi->padLeft) { | |
$sbuf .= str_repeat(' ', $fi->min - $len); | |
$sbuf .= $string; | |
} else { | |
$sbuf .= $string; | |
$sbuf .= str_repeat(' ', $fi->min - $len); | |
} | |
} | |
// No action needed | |
else { | |
$sbuf .= $string; | |
} | |
} | |
} |