Log a message at a given severity level.
61 {
62 std::string levelStr;
64 fmt::color levelColor = fmt::color::white;
65
68 levelStr = "DEBUG"; levelColor = fmt::color::light_blue; break;
70 levelStr = "INFO"; levelColor = fmt::color::green; break;
72 levelStr = "WARN"; levelColor = fmt::color::yellow; break;
74 levelStr = "ERROR"; levelColor = fmt::color::orange_red; break;
76 levelStr = "CRITICAL"; levelColor = fmt::color::red; break;
77 default:
78 levelStr = "LOG"; break;
79 }
80
81 auto now = std::time(nullptr);
82 auto timestamp = fmt::format(
"{:%d-%m-%Y %H:%M:%S}", fmt::localtime(now));
83
84
85 std::string logMessage = fmt::format(
86 "{} :: {:<8} :: {}\n", timestamp, levelStr, msg
87 );
88
92 }
93
94
95 logMessage = fmt::format(
96 "{} :: {} :: {}\n",
97 timestamp,
98 fmt::format(fg(levelColor) | fmt::emphasis::bold, "{:<8}", levelStr),
99 msg
100 );
101
102 fmt::print("{}", logMessage);
103}
@ WARN
Warning conditions.
@ INFO
Informational messages.
@ CRITICAL
Critical conditions.
std::string timestamp()
Returns the current timestamp string.