log4cpp  1.1.6
NDC.hh
Go to the documentation of this file.
1 /*
2  * NDC.hh
3  *
4  * Copyright 2000, LifeLine Networks BV (www.lifeline.nl). All rights reserved.
5  * Copyright 2000, Bastiaan Bakker. All rights reserved.
6  *
7  * See the COPYING file for the terms of usage and distribution.
8  */
9 
10 #ifndef _LOG4CPP_NDC_HH
11 #define _LOG4CPP_NDC_HH
12 
13 #include <log4cpp/Portability.hh>
14 #include <string>
15 #include <vector>
16 
17 namespace log4cpp {
74  static bool isUsedNDC;
75  static const std::string emptyString;
76 
77  public:
79  DiagnosticContext(const std::string& message);
80  DiagnosticContext(const std::string& message, const DiagnosticContext& parent);
81 
82  std::string message;
83  std::string fullMessage;
84  };
85 
86  typedef std::vector<DiagnosticContext> ContextStack;
87 
96  static void clear();
97 
111  static ContextStack* cloneStack();
112 
117  static const std::string& get();
118 
123  static size_t getDepth();
124 
125  static void inherit(ContextStack* stack);
126 
137  static std::string pop();
138 
147  static void push(const std::string& message);
148 
155  static void setMaxDepth(int maxDepth);
156 
161  static NDC& getNDC();
162 
163  NDC();
164  virtual ~NDC();
165 
166  public:
167  virtual void _clear();
168  virtual ContextStack* _cloneStack();
169  virtual const std::string& _get() const;
170  virtual size_t _getDepth() const;
171  virtual void _inherit(ContextStack* stack);
172  virtual std::string _pop();
173  virtual void _push(const std::string& message);
174  virtual void _setMaxDepth(int maxDepth);
175 
177  };
178 } // namespace log4cpp
179 
180 #endif // _LOG4CPP_NDC_HH
ContextStack _stack
Definition: NDC.hh:176
std::string message
Definition: NDC.hh:82
Definition: NDC.hh:78
std::vector< DiagnosticContext > ContextStack
Definition: NDC.hh:86
#define LOG4CPP_EXPORT
Definition: Export.hh:26
The top level namespace for all &#39;Log for C++&#39; types and classes.
Definition: AbortAppender.hh:16
The NDC class implements nested diagnostic contexts as defined by Neil Harrison in the article "Patte...
Definition: NDC.hh:69
std::string fullMessage
Definition: NDC.hh:83