Overview

Packages

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

Classes

  • Logger
  • LoggerAppender
  • LoggerAppenderPool
  • LoggerAutoloader
  • LoggerConfigurable
  • LoggerConfiguratorDefault
  • LoggerFilter
  • LoggerHierarchy
  • LoggerLayout
  • LoggerLevel
  • LoggerLocationInfo
  • LoggerLoggingEvent
  • LoggerMDC
  • LoggerNDC
  • LoggerReflectionUtils
  • LoggerRoot
  • LoggerThrowableInformation

Interfaces

  • LoggerConfigurator

Exceptions

  • LoggerException
  • 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:  * The LoggerMDC class provides _mapped diagnostic contexts_.
23:  * 
24:  * A Mapped Diagnostic Context, or MDC in short, is an instrument for 
25:  * distinguishing interleaved log output from different sources. Log output 
26:  * is typically interleaved when a server handles multiple clients 
27:  * near-simultaneously.
28:  * 
29:  * This class is similar to the {@link LoggerNDC} class except that 
30:  * it is based on a map instead of a stack.
31:  * 
32:  * @version $Revision: 1343630 $
33:  * @since 0.3
34:  * @package log4php
35:  */
36: class LoggerMDC {
37:     
38:     /** Holds the context map. */
39:     private static $map = array();
40:         
41:     /**
42:      * Stores a context value as identified with the key parameter into the 
43:      * context map.
44:      *
45:      * @param string $key the key
46:      * @param string $value the value
47:      */
48:     public static function put($key, $value) {
49:         self::$map[$key] = $value;
50:     }
51:   
52:     /**
53:      * Returns the context value identified by the key parameter.
54:      *
55:      * @param string $key The key.
56:      * @return string The context or an empty string if no context found
57:      *  for given key.
58:      */
59:     public static function get($key) {
60:         return isset(self::$map[$key]) ? self::$map[$key] : '';
61:     }
62: 
63:     /**
64:      * Returns the contex map as an array.
65:      * @return array The MDC context map.
66:      */
67:     public static function getMap() {
68:         return self::$map;
69:     }
70: 
71:     /**
72:      * Removes the the context identified by the key parameter. 
73:      *
74:      * Only affects user mappings, not $_ENV or $_SERVER.
75:      *
76:      * @param string $key The key to be removed.
77:      */
78:     public static function remove($key) {
79:         unset(self::$map[$key]);
80:     }
81:     
82:     /**
83:      * Clears the mapped diagnostic context.
84:      */
85:     public static function clear() {
86:         self::$map = array();
87:     }
88: }
89: 
Apache log4php API documentation generated by ApiGen 2.8.0