userver
C++ Async Framework
Loading...
Searching...
No Matches
stacktrace_cache.hpp
1
#
pragma
once
2
3
#
include
<
string
>
4
5
#
include
<
boost
/
stacktrace
/
stacktrace_fwd
.
hpp
>
6
7
USERVER_NAMESPACE_BEGIN
8
9
/// Contains functions that cache stacktrace results
10
namespace
logging
::
stacktrace_cache
{
11
12
/// Get cached stacktrace
13
/// @see GlobalEnableStacktrace
14
std::string
to_string
(
const
boost::stacktrace::stacktrace& st);
15
16
/// Enable/disable stacktraces. If disabled, stacktrace_cache::to_string()
17
/// returns with a const string.
18
///
19
/// @note Disabling stacktraces is a hack for the Boost.Stacktrace memory leak
20
bool
GlobalEnableStacktrace
(
bool
enable);
21
22
/// RAII-wrapper for `GlobalEnableStacktrace`. Should be used to temporarily
23
/// enable stacktraces after `GlobalEnableStacktrace(false)`.
24
class
StacktraceGuard
{
25
public
:
26
explicit
StacktraceGuard(
bool
enabled);
27
28
~StacktraceGuard();
29
30
private
:
31
const
bool
old_;
32
};
33
34
}
// namespace logging::stacktrace_cache
35
36
USERVER_NAMESPACE_END
userver
logging
stacktrace_cache.hpp
Generated on Tue Nov 19 2024 11:34:16 for userver by
Doxygen
1.10.0