Overview

Packages

  • log4php
    • appenders
    • configurators
    • filters
    • helpers
    • layouts
    • pattern
    • renderers

Classes

  • LoggerPatternConverterClass
  • LoggerPatternConverterCookie
  • LoggerPatternConverterDate
  • LoggerPatternConverterEnvironment
  • LoggerPatternConverterFile
  • LoggerPatternConverterLevel
  • LoggerPatternConverterLine
  • LoggerPatternConverterLiteral
  • LoggerPatternConverterLocation
  • LoggerPatternConverterLogger
  • LoggerPatternConverterMDC
  • LoggerPatternConverterMessage
  • LoggerPatternConverterMethod
  • LoggerPatternConverterNDC
  • LoggerPatternConverterNewLine
  • LoggerPatternConverterProcess
  • LoggerPatternConverterRelative
  • LoggerPatternConverterRequest
  • LoggerPatternConverterServer
  • LoggerPatternConverterSession
  • LoggerPatternConverterSessionID
  • LoggerPatternConverterSuperglobal
  • LoggerPatternConverterThrowable
  • Overview
  • Package
  • Class
  • Tree
 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: }
64:  
Apache log4php API documentation generated by ApiGen 2.8.0