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; | |
| } | |
| } | |
| } |