| Code Coverage
| Classes and Traits | Functions and Methods | Lines
Total |  | 0.00% | 0 / 1 |  | 0.00% | 0 / 2 | CRAP |  | 66.67% | 8 / 12
LoggerPatternConverterClass |  | 0.00% | 0 / 1 |  | 0.00% | 0 / 2 | 8.81 |  | 66.67% | 8 / 12
activateOptions() |  | 0.00% | 0 / 1 | 6.00 |  | 50.00% | 2 / 4
convert(LoggerLoggingEvent $event) |  | 0.00% | 0 / 1 | 3.14 |  | 75.00% | 6 / 8

1 | <?php
2 | /**
3 | * Licensed to the Apache Software Foundation (ASF) under one or more
4 | * contributor license agreements. See the NOTICE file distributed with
5 | * this work for additional information regarding copyright ownership.
6 | * The ASF licenses this file to You under the Apache License, Version 2.0
7 | * (the "License"); you may not use this file except in compliance with
8 | * the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | *
18 | * @package log4php
19 | */
20 |
21 | /**
22 | * Returns the fully qualified class name of the class from which the logging
23 | * request was issued.
24 | *
25 | * @package log4php
26 | * @subpackage pattern
27 | * @version $Revision: 1326626 $
28 | * @since 2.3
29 | */
30 | class LoggerPatternConverterClass extends LoggerPatternConverter {
31 |
32 | /** Length to which to shorten the class name. */
33 | private $length;
34 |
35 | /** Holds processed class names. */
36 | private $cache = array();
37 |
38 | public function activateOptions() {
39 | // Parse the option (desired output length)
40 | if (isset($this->option) && is_numeric($this->option) && $this->option >= 0) {
41 | $this->length = (integer) $this->option;
42 | }
43 | }
44 |
45 | public function convert(LoggerLoggingEvent $event) {
46 | $name = $event->getLocationInformation()->getClassName();
47 |
48 | if (!isset($this->cache[$name])) {
49 |
50 | // If length is set return shortened class name
51 | if (isset($this->length)) {
52 | $this->cache[$name] = LoggerUtils::shortenClassName($name, $this->length);
53 | }
54 |
55 | // If no length is specified return the full class name
56 | else {
57 | $this->cache[$name] = $name;
58 | }
59 | }
60 |
61 | return $this->cache[$name];
62 | }
63 | }