log4shib 2.0.0

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 _LOG4SHIB_NDC_HH
11#define _LOG4SHIB_NDC_HH
12
13#include <log4shib/Portability.hh>
14#include <string>
15#include <vector>
16
17 namespace log4shib {
69 class LOG4SHIB_EXPORT NDC {
70 public:
71
72 struct DiagnosticContext {
73 DiagnosticContext(const std::string& message);
74 DiagnosticContext(const std::string& message,
75 const DiagnosticContext& parent);
76
77 std::string message;
78 std::string fullMessage;
79 };
80
81 typedef std::vector<DiagnosticContext> ContextStack;
82
91 static void clear();
92
106 static ContextStack* cloneStack();
107
112 static const std::string& get();
113
118 static int getDepth();
119
120 static void inherit(ContextStack* stack);
121
132 static std::string pop();
133
142 static void push(const std::string& message);
143
150 static void setMaxDepth(int maxDepth);
151
156 static NDC& getNDC();
157
158 NDC();
159 virtual ~NDC();
160
161 public:
162 virtual void _clear();
163 virtual ContextStack* _cloneStack();
164 virtual const std::string& _get() const;
165 virtual int _getDepth() const;
166 virtual void _inherit(ContextStack* stack);
167 virtual std::string _pop();
168 virtual void _push(const std::string& message);
169 virtual void _setMaxDepth(int maxDepth);
170
171 ContextStack _stack;
172 };
173}
174
175#endif // _LOG4SHIB_NDC_HH
LOG4SHIB_EXPORT
#define LOG4SHIB_EXPORT
Definition: Export.hh:11
Portability.hh
log4shib::NDC
The NDC class implements nested diagnostic contexts as defined by Neil Harrison in the article "Patte...
Definition: NDC.hh:69
log4shib::NDC::ContextStack
std::vector< DiagnosticContext > ContextStack
Definition: NDC.hh:81
log4shib::NDC::_stack
ContextStack _stack
Definition: NDC.hh:171
log4shib
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16
log4shib::NDC::DiagnosticContext
Definition: NDC.hh:72
log4shib::NDC::DiagnosticContext::fullMessage
std::string fullMessage
Definition: NDC.hh:78
log4shib::NDC::DiagnosticContext::message
std::string message
Definition: NDC.hh:77