userver
C++ Async Framework
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,
18
kDebug = 1,
19
kInfo = 2,
20
kWarning = 3,
21
kError = 4,
22
kCritical = 5,
23
kNone = 6
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 Tue Nov 19 2024 11:25:23 for userver by
Doxygen
1.10.0