- Main Page
- Modules
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# MDC Class Reference

List of all members.

## Detailed Description

The MDC class is similar to the NDC class except that it is based on a map instead of a stack.

It provides mapped diagnostic contexts. A Mapped Diagnostic Context, or MDC in short, is an instrument for distinguishing interleaved log output from different sources. Log output is typically interleaved when a server handles multiple clients near-simultaneously.

The MDC is managed on a per thread basis. A child thread automatically inherits a copy of the mapped diagnostic context of its parent.

## Public Types
typedef std::map< LogString, LogString > | Map
| String to string stl map.
## Public Member Functions
| MDC (const std::string &key, const std::string &value)
| Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor.
| ~MDC ()
| MDC (const std::wstring &key, const std::wstring &value)
| Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor.
| MDC (const std::basic_string< UniChar > &key, const std::basic_string< UniChar > &value)
| Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor.
| MDC (const CFStringRef &key, const CFStringRef &value)
| Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor.
## Static Public Member Functions
static void | put (const std::string &key, const std::string &value)
| Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map.
static void | putLS (const LogString &key, const LogString &value)
| Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map.
static std::string | get (const std::string &key)
| Get the context identified by the `key` parameter.
static bool | get (const LogString &key, LogString &dest)
| Gets the context identified by the `key` parameter.
static std::string | remove (const std::string &key)
| Remove the the context identified by the `key` parameter.
static void | put (const std::wstring &key, const std::wstring &value)
| Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map.
static std::wstring | get (const std::wstring &key)
| Get the context identified by the `key` parameter.
static std::wstring | remove (const std::wstring &key)
| Remove the the context identified by the `key` parameter.
static void | put (const std::basic_string< UniChar > &key, const std::basic_string< UniChar > &value)
| Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map.
static std::basic_string< UniChar > | get (const std::basic_string< UniChar > &key)
| Get the context identified by the `key` parameter.
static std::basic_string< UniChar > | remove (const std::basic_string< UniChar > &key)
| Remove the the context identified by the `key` parameter.
static void | put (const CFStringRef &key, const CFStringRef &value)
| Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map.
static CFStringRef | get (const CFStringRef &key)
| Get the context identified by the `key` parameter.
static CFStringRef | remove (const CFStringRef &key)
| Remove the the context identified by the `key` parameter.
static bool | remove (const LogString &key, LogString &prevValue)
| Remove the the context identified by the `key` parameter.
static void | clear ()
| Clear all entries in the MDC.

## Member Typedef Documentation

typedef std::map<LogString, LogString> Map

| String to string stl map.

## Constructor & Destructor Documentation

MDC | ( | const std::string & | key,
|  | const std::string & | value
| ) |

  | Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor. Both construction and destruction are expected to be on the same thread. Parameters:
  | key | key
  | value | value.

~MDC | ( |  | ) |

MDC | ( | const std::wstring & | key,
|  | const std::wstring & | value
| ) |

  | Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor. Both construction and destruction are expected to be on the same thread. Parameters:
  | key | key
  | value | value.

MDC | ( | const std::basic_string< UniChar > & | key,
|  | const std::basic_string< UniChar > & | value
| ) |

  | Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor. Both construction and destruction are expected to be on the same thread. Parameters:
  | key | key
  | value | value.

MDC | ( | const CFStringRef & | key,
|  | const CFStringRef & | value
| ) |

  | Places a key/value pair in the MDC for the current thread which will be removed during the corresponding destructor. Both construction and destruction are expected to be on the same thread. Parameters:
  | key | key
  | value | value.

## Member Function Documentation

static void clear | ( |  | ) | `[static]`

| Clear all entries in the MDC.

static CFStringRef get | ( | const CFStringRef & | key | ) | `[static]`

  | Get the context identified by the `key` parameter. This method has no side effects. Parameters:
  | key | key.
Returns: value for key, empty if not set.

static std::basic_string<UniChar> get | ( | const std::basic_string< UniChar > & | key | ) | `[static]`

  | Get the context identified by the `key` parameter. This method has no side effects. Parameters:
  | key | key.
Returns: value for key, empty if not set.

static std::wstring get | ( | const std::wstring & | key | ) | `[static]`

  | Get the context identified by the `key` parameter. This method has no side effects. Parameters:
  | key | key.
Returns: value for key, empty if not set.

static bool get | ( | const LogString & | key,
|  | LogString & | dest
| ) | `[static]`

  | Gets the context identified by the `key` parameter. Parameters:
  | key | context key.
  | dest | destination to which value is appended.
Returns: true if key has associated value.

static std::string get | ( | const std::string & | key | ) | `[static]`

  | Get the context identified by the `key` parameter. This method has no side effects. Parameters:
  | key | key.
Returns: value for key, empty if not set.

static void put | ( | const CFStringRef & | key,
|  | const CFStringRef & | value
| ) | `[static]`

  | Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map. If the current thread does not have a context map it is created as a side effect. Parameters:
  | key | key
  | value | value.

static void put | ( | const std::basic_string< UniChar > & | key,
|  | const std::basic_string< UniChar > & | value
| ) | `[static]`

  | Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map. If the current thread does not have a context map it is created as a side effect. Parameters:
  | key | key
  | value | value.

static void put | ( | const std::wstring & | key,
|  | const std::wstring & | value
| ) | `[static]`

  | Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map. If the current thread does not have a context map it is created as a side effect. Parameters:
  | key | key
  | value | value.

static void put | ( | const std::string & | key,
|  | const std::string & | value
| ) | `[static]`

  | Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map. If the current thread does not have a context map it is created as a side effect. Parameters:
  | key | key
  | value | value.

static void putLS | ( | const LogString & | key,
|  | const LogString & | value
| ) | `[static]`

| Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map. If the current thread does not have a context map it is created as a side effect.

static bool remove | ( | const LogString & | key,
|  | LogString & | prevValue
| ) | `[static]`

  | Remove the the context identified by the `key` parameter. Parameters:
  | key | key.
  | prevValue | buffer to which previous value is appended.
Returns: true if key existed in MDC.

static CFStringRef remove | ( | const CFStringRef & | key | ) | `[static]`

  | Remove the the context identified by the `key` parameter. Parameters:
  | key | key.
Returns: value if key had been set, empty if not.

static std::basic_string<UniChar> remove | ( | const std::basic_string< UniChar > & | key | ) | `[static]`

  | Remove the the context identified by the `key` parameter. Parameters:
  | key | key.
Returns: value if key had been set, empty if not.

static std::wstring remove | ( | const std::wstring & | key | ) | `[static]`

  | Remove the the context identified by the `key` parameter. Parameters:
  | key | key.
Returns: value if key had been set, empty if not.

static std::string remove | ( | const std::string & | key | ) | `[static]`

  | Remove the the context identified by the `key` parameter. Parameters:
  | key | key.
Returns: value if key had been set, empty if not.

The documentation for this class was generated from the following file:

- mdc.h