void AppenderConsole::_write(LogMessage const* message) { bool stdout_stream = !(message->level == LOG_LEVEL_ERROR || message->level == LOG_LEVEL_FATAL); if (_colored) { uint8 index; switch (message->level) { case LOG_LEVEL_TRACE: index = 5; break; case LOG_LEVEL_DEBUG: index = 4; break; case LOG_LEVEL_INFO: index = 3; break; case LOG_LEVEL_WARN: index = 2; break; case LOG_LEVEL_FATAL: index = 0; break; case LOG_LEVEL_ERROR: /* fallthrough */ default: index = 1; break; } SetColor(stdout_stream, _colors[index]); utf8printf(stdout_stream ? stdout : stderr, "%s%s\n", message->prefix.c_str(), message->text.c_str()); ResetColor(stdout_stream); } else utf8printf(stdout_stream ? stdout : stderr, "%s%s\n", message->prefix.c_str(), message->text.c_str()); }
void AppenderConsole::_write(LogMessage& message) { bool stdout_stream = message.level == LOG_LEVEL_ERROR || message.level == LOG_LEVEL_FATAL; if (_colored) { uint8 index; switch (message.level) { case LOG_LEVEL_TRACE: index = 5; break; case LOG_LEVEL_DEBUG: index = 4; break; case LOG_LEVEL_INFO: index = 3; break; case LOG_LEVEL_WARN: index = 2; break; case LOG_LEVEL_FATAL: index = 0; break; case LOG_LEVEL_ERROR: // No break on purpose default: index = 1; break; } SetColor(stdout_stream, _colors[index]); utf8printf(stdout_stream ? stdout : stderr, "%s%s", message.prefix.c_str(), message.text.c_str()); ResetColor(stdout_stream); } else utf8printf(stdout_stream ? stdout : stderr, "%s%s", message.prefix.c_str(), message.text.c_str()); }