From cae3d4ec7a61ce3ba2e40ed00477925626384320 Mon Sep 17 00:00:00 2001 From: Ivan Chikish Date: Sun, 9 Jul 2023 12:07:39 +0300 Subject: [PATCH] [Logs] Add colors to formatting --- orbis-kernel/src/utils/Logs.cpp | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/orbis-kernel/src/utils/Logs.cpp b/orbis-kernel/src/utils/Logs.cpp index 1a26e0028..06fdae3aa 100644 --- a/orbis-kernel/src/utils/Logs.cpp +++ b/orbis-kernel/src/utils/Logs.cpp @@ -198,6 +198,34 @@ void _orbis_log_print(LogLevel lvl, const char *msg, std::string_view names, } text += ")"; - std::fprintf(stderr, "%s\n", text.c_str()); + const char *color = ""; + switch (lvl) { + case LogLevel::Always: + color = "\e[36;1m"; + break; + case LogLevel::Fatal: + color = "\e[35;1m"; + break; + case LogLevel::Error: + color = "\e[0;31m"; + break; + case LogLevel::Todo: + color = "\e[1;33m"; + break; + case LogLevel::Success: + color = "\e[1;32m"; + break; + case LogLevel::Warning: + color = "\e[0;33m"; + break; + case LogLevel::Notice: + color = ""; + break; + case LogLevel::Trace: + color = ""; + break; + } + + std::fprintf(stderr, "%s%s\e[0m\n", color, text.c_str()); } } // namespace orbis::logs