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,
///< 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 Tue Jan 27 2026 16:42:24 for userver by
Doxygen
1.13.2