log4shib 2.0.1
Loading...
Searching...
No Matches
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
14#include <string>
15#include <vector>
16
17namespace log4shib {
70 public:
71
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
131
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
172 };
173}
174
175#endif // _LOG4SHIB_NDC_HH
#define LOG4SHIB_EXPORT
Definition Export.hh:11
static void clear()
Clear any nested disgnostic information if any.
Definition NDC.cpp:31
virtual ContextStack * _cloneStack()
Definition NDC.cpp:84
static NDC & getNDC()
Return the NDC for the current thread.
Definition NDC.cpp:63
static const std::string & get()
Get the current diagnostic context string.
Definition NDC.cpp:39
virtual void _setMaxDepth(int maxDepth)
Definition NDC.cpp:116
std::vector< DiagnosticContext > ContextStack
Definition NDC.hh:81
static void push(const std::string &message)
Push new diagnostic context information for the current thread.
Definition NDC.cpp:55
static ContextStack * cloneStack()
Clone the diagnostic context for the current thread.
Definition NDC.cpp:35
static int getDepth()
Get the current nesting depth of this diagnostic context.
Definition NDC.cpp:43
static std::string pop()
Clients should call this method before leaving a diagnostic context.
Definition NDC.cpp:51
NDC()
Definition NDC.cpp:74
virtual const std::string & _get() const
Definition NDC.cpp:88
static void setMaxDepth(int maxDepth)
Set the maximum nesting depth for the current NDC.
Definition NDC.cpp:59
virtual void _inherit(ContextStack *stack)
Definition NDC.cpp:98
virtual int _getDepth() const
Definition NDC.cpp:94
virtual std::string _pop()
Definition NDC.cpp:102
virtual void _push(const std::string &message)
Definition NDC.cpp:108
virtual void _clear()
Definition NDC.cpp:80
ContextStack _stack
Definition NDC.hh:171
static void inherit(ContextStack *stack)
Definition NDC.cpp:47
The top level namespace for all 'Log for C++' types and classes.
Definition AbortAppender.hh:16
std::string fullMessage
Definition NDC.hh:78
std::string message
Definition NDC.hh:77
DiagnosticContext(const std::string &message)
Definition NDC.cpp:16