log4cpp::NDC man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

log4cpp::NDC(3)			    log4cpp		       log4cpp::NDC(3)

NAME
       log4cpp::NDC -

       The NDC class implements nested diagnostic contexts as defined by Neil
       Harrison in the article 'Patterns for Logging
	      Diagnostic Messages' part of the book '<i>Pattern Languages of
	      Program Design 3</i>' edited by Martin et al.

SYNOPSIS
       #include <NDC.hh>

   Classes
       struct DiagnosticContext

   Public Types
       typedef std::vector< DiagnosticContext > ContextStack

   Public Member Functions
       NDC ()
       virtual ~NDC ()
       virtual void _clear ()
       virtual ContextStack * _cloneStack ()
       virtual const std::string & _get () const
       virtual size_t _getDepth () const
       virtual void _inherit (ContextStack *stack)
       virtual std::string _pop ()
       virtual void _push (const std::string &message)
       virtual void _setMaxDepth (int maxDepth)

   Static Public Member Functions
       static void clear ()
	   Clear any nested disgnostic information if any.
       static ContextStack * cloneStack ()
	   Clone the diagnostic context for the current thread.
       static const std::string & get ()
	   Get the current diagnostic context string.
       static size_t getDepth ()
	   Get the current nesting depth of this diagnostic context.
       static void inherit (ContextStack *stack)
       static std::string pop ()
	   Clients should call this method before leaving a diagnostic
	   context.
       static void push (const std::string &message)
	   Push new diagnostic context information for the current thread.
       static void setMaxDepth (int maxDepth)
	   Set the maximum nesting depth for the current NDC.
       static NDC & getNDC ()
	   Return the NDC for the current thread.

   Public Attributes
       ContextStack _stack

Detailed Description
       The NDC class implements nested diagnostic contexts as defined by Neil
       Harrison in the article 'Patterns for Logging
	      Diagnostic Messages' part of the book '<i>Pattern Languages of
	      Program Design 3</i>' edited by Martin et al.

       A Nested Diagnostic Context, or NDC in short, is an instrument to
       distinguish interleaved log output from different sources. Log output
       is typically interleaved when a server handles multiple clients near-
       simulatanously.

       Interleaved log output can still be meaningful if each log entry from
       different contexts had a distinctive stamp. This is where NDCs come
       into play.

       Note that NDCs are managed on a per thread basis. NDC operations such
       as push,	 pop, clear, getDepth and  setMaxDepth affect the NDC of the
       current thread only. NDCs of other threads remain unaffected.

       To build an NDC one uses the push operation. Simply put,

       · Contexts can be nested.
       · When entering a context, call NDC.push. As a side effect, if there is
	 no nested diagnostic context for the current thread, this method will
	 create it.
       · When leaving a context, call NDC.pop.
       There is no penalty for forgetting to match each push operation with a
       corresponding pop, except the obvious mismatch between the real
       application context and the context set in the NDC.
       Custom Layouts may include the nested diagnostic context for the
       current thread in log messages, without any user intervention. Hence,
       even if a server is serving multiple clients simultaneously, the logs
       emanating from the same code (belonging to the same category) can still
       be distinguished because each client request will have a different NDC
       tag.
       Unfortunately, unlike Java, C++ does not have platform independent
       multithreading support. Therefore, currently log4cpp is not multithread
       aware, it implicitly assumes only one thread exists, the main process
       thread.
Member Typedef Documentation
   typedef std::vector<DiagnosticContext> log4cpp::NDC::ContextStack
Constructor & Destructor Documentation
   log4cpp::NDC::NDC ()
   log4cpp::NDC::~NDC () [virtual]
Member Function Documentation
   void log4cpp::NDC::_clear () [virtual]
   NDC::ContextStack * log4cpp::NDC::_cloneStack () [virtual]
   const std::string & log4cpp::NDC::_get () const [virtual]
   size_t log4cpp::NDC::_getDepth () const [virtual]
   void log4cpp::NDC::_inherit (NDC::ContextStack * stack) [virtual]
   std::string log4cpp::NDC::_pop () [virtual]
   void log4cpp::NDC::_push (const std::string & message) [virtual]
   void log4cpp::NDC::_setMaxDepth (int maxDepth) [virtual]
   void log4cpp::NDC::clear () [static]
       Clear any nested disgnostic information if any. This method is useful
       in cases where the same thread can be potentially used over and over in
       different unrelated contexts.
       This method is equivalent to calling the setMaxDepth method with a zero
       maxDepth argument.
   NDC::ContextStack * log4cpp::NDC::cloneStack () [static]
       Clone the diagnostic context for the current thread. Internally a
       diagnostic context is represented as a stack. A given thread can supply
       the stack (i.e. diagnostic context) to a child thread so that the child
       can inherit the parent thread's diagnostic context.
       The child thread uses the inherit method to inherit the parent's
       diagnostic context.
       Returns:
	   Stack A clone of the current thread's diagnostic context.
   const std::string & log4cpp::NDC::get () [static]
       Get the current diagnostic context string. Returns:
	   the context string.
   size_t log4cpp::NDC::getDepth () [static]
       Get the current nesting depth of this diagnostic context. Returns:
	   the nesting depth
   NDC & log4cpp::NDC::getNDC () [static]
       Return the NDC for the current thread. Returns:
	   the NDC for the current thread
   void log4cpp::NDC::inherit (NDC::ContextStack * stack) [static]
   std::string log4cpp::NDC::pop () [static]
       Clients should call this method before leaving a diagnostic context.
       The returned value is the value that was pushed last. If no context is
       available, then the empty string '' is returned.
       Returns:
	   String The innermost diagnostic context.
   void log4cpp::NDC::push (const std::string & message) [static]
       Push new diagnostic context information for the current thread. The
       contents of the message parameter is determined solely by the client.
       Parameters:
	   message The new diagnostic context information.
   void log4cpp::NDC::setMaxDepth (int maxDepth) [static]
       Set the maximum nesting depth for the current NDC. Curently NDCs do not
       enforce a maximum depth and consequentially this method has no effect.
       Parameters:
	   maxDepth the maximum nesting depth
Member Data Documentation
   ContextStack log4cpp::NDC::_stack
Author
       Generated automatically by Doxygen for log4cpp from the source code.

Version 1.0			  23 Nov 2010		       log4cpp::NDC(3)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net