Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
LogLevel.hpp
Go to the documentation of this file.
1
7#pragma once
8
9#include <cstdint>
10
11namespace corium::logging {
12
14enum class LogLevel : uint8_t {
15 Trace = 0,
16 Debug,
17 Info,
18 Warn,
19 Error,
21 Off
22};
23
25constexpr const char* logLevelToString(LogLevel level) noexcept
26{
27 switch (level) {
28 case LogLevel::Trace: return "TRACE";
29 case LogLevel::Debug: return "DEBUG";
30 case LogLevel::Info: return "INFO";
31 case LogLevel::Warn: return "WARN";
32 case LogLevel::Error: return "ERROR";
33 case LogLevel::Critical: return "CRITICAL";
34 case LogLevel::Off: return "OFF";
35 }
36 return "UNKNOWN";
37}
38
40constexpr const char* logLevelToColor(LogLevel level) noexcept
41{
42 switch (level) {
43 case LogLevel::Trace: return "\033[36m"; // Cyan
44 case LogLevel::Debug: return "\033[34m"; // Blue
45 case LogLevel::Info: return "\033[32m"; // Green
46 case LogLevel::Warn: return "\033[33m"; // Yellow
47 case LogLevel::Error: return "\033[31m"; // Red
48 case LogLevel::Critical: return "\033[35m"; // Magenta
49 case LogLevel::Off: return "\033[0m"; // Reset
50 }
51 return "\033[0m";
52}
53
55constexpr const char* LOG_COLOR_RESET = "\033[0m";
56
57} // namespace corium::logging
Definition LogBackgroundService.hpp:17
constexpr const char * logLevelToColor(LogLevel level) noexcept
Get ANSI color escape code for LogLevel.
Definition LogLevel.hpp:40
LogLevel
Logging severity levels.
Definition LogLevel.hpp:14
constexpr const char * LOG_COLOR_RESET
ANSI reset color escape code.
Definition LogLevel.hpp:55
constexpr const char * logLevelToString(LogLevel level) noexcept
Convert LogLevel enum to string representation.
Definition LogLevel.hpp:25