userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
level.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/logging/level.hpp
4
/// @brief Log levels
5
6
#
include
<
cstdint
>
7
#
include
<
optional
>
8
#
include
<
string
>
9
10
USERVER_NAMESPACE_BEGIN
11
12
/// Logging macro and utilities
13
namespace
logging
{
14
15
/// Log levels
16
enum
class
Level : std::uint8_t {
17
kTrace = 0,
///< Level for very verbose debug messages
18
kDebug = 1,
///< Level for debug messages
19
kInfo = 2,
///< Level for non-error informational messages
20
kWarning = 3,
///< Level for warning messages
21
kError = 4,
///< Level for error messages
22
kCritical = 5,
///< Level for fatal error messages that can not be disabled
23
kNone = 6,
///< "Do not output messages" level
24
};
25
26
inline
constexpr
auto
kLevelMax =
static_cast
<
int
>(Level::kNone);
27
28
/// @brief Converts lowercase level name to a corresponding Level, throws
29
/// std::runtime_error if no matching log level found.
30
Level LevelFromString(std::string_view);
31
32
/// @brief Returns a string representation of logging level, e.g. "info"
33
std::string_view ToString(Level level);
34
35
/// @brief Returns a string representation of logging level, e.g. "INFO"
36
std::string_view ToUpperCaseString(Level level)
noexcept
;
37
38
/// @brief Returns std::nullopt if level_name is std::nullopt, otherwise
39
/// behaves exactly like logging::LevelFromString.
40
std::optional<Level> OptionalLevelFromString(
const
std::optional<std::string>& level_name);
41
42
}
// namespace logging
43
44
USERVER_NAMESPACE_END
userver
logging
level.hpp
Generated on
for userver by
Doxygen
1.17.0