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 name of the logger which created the logging request.
23:  * 
24:  * Takes one option, which is an integer. If the option is given, the logger 
25:  * name will be shortened to the given length, if possible.
26:  * 
27:  * @package log4php
28:  * @subpackage pattern
29:  * @version $Revision: 1326626 $
30:  * @since 2.3
31:  */
32: class LoggerPatternConverterLogger extends LoggerPatternConverter {
33: 
34:     /** Length to which to shorten the name. */
35:     private $length;
36:     
37:     /** Holds processed logger names. */
38:     private $cache = array();
39:     
40:     public function activateOptions() {
41:         // Parse the option (desired output length)
42:         if (isset($this->option) && is_numeric($this->option) && $this->option >= 0) {
43:             $this->length = (integer) $this->option;
44:         }
45:     }
46:     
47:     public function convert(LoggerLoggingEvent $event) {
48:         $name = $event->getLoggerName();
49:         
50:         if (!isset($this->cache[$name])) {
51: 
52:             // If length is set return shortened logger name 
53:             if (isset($this->length)) {
54:                 $this->cache[$name] = LoggerUtils::shortenClassName($name, $this->length);
55:             } 
56:             
57:             // If no length is specified return full logger name
58:             else {
59:                 $this->cache[$name] = $name;
60:             }
61:         } 
62:         
63:         return $this->cache[$name];
64:     }
65: }
66: 
Apache log4php API documentation generated by ApiGen 2.8.0