25#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
56 if (
Optional<uint8> color = Trinity::StringTo<uint8>(colorStrs[i]); color && EnumUtils::IsValid<ColorTypes>(*color))
70#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
76 FOREGROUND_RED | FOREGROUND_GREEN,
78 FOREGROUND_RED | FOREGROUND_BLUE,
79 FOREGROUND_GREEN | FOREGROUND_BLUE,
80 FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,
82 FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY,
84 FOREGROUND_RED | FOREGROUND_INTENSITY,
86 FOREGROUND_GREEN | FOREGROUND_INTENSITY,
87 FOREGROUND_BLUE | FOREGROUND_INTENSITY,
89 FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY,
91 FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY,
93 FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
96 HANDLE hConsole = GetStdHandle(stdout_stream ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE);
97 SetConsoleTextAttribute(hConsole, WinColorFG[color]);
151 fprintf((stdout_stream? stdout : stderr),
"\x1b[%d%sm", UnixColorFG[color], (color >=
YELLOW && color <
NUM_COLOR_TYPES ?
";1" :
""));
157 #if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
158 HANDLE hConsole = GetStdHandle(stdout_stream ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE);
159 SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED);
161 fprintf((stdout_stream ? stdout : stderr),
"\x1b[0m");
167#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
170 utf8printf(error ? stderr : stdout,
"%s\n", str.c_str());
181 switch (message->
level)
std::optional< T > Optional
Optional helper class to wrap optional values within.
bool WriteWinConsole(std::string_view str, bool error)
void utf8printf(FILE *out, const char *str,...)
void InitColors(std::string const &name, std::string_view init_str)
void ResetColor(bool stdout_stream)
void Print(std::string const &str, bool error)
void SetColor(bool stdout_stream, ColorTypes color)
void _write(LogMessage const *message) override
AppenderConsole(uint8 _id, std::string const &name, LogLevel level, AppenderFlags flags, std::vector< std::string_view > const &args)
ColorTypes _colors[NUM_ENABLED_LOG_LEVELS]
static char const * ToTitle(Enum value)
TC_COMMON_API std::vector< std::string_view > Tokenize(std::string_view str, char sep, bool keepEmpty)
std::string StringFormat(FormatString< Args... > fmt, Args &&... args)
Default TC string format function.