void AppenderConsole::InitColors(std::string const& str) { if (str.empty()) { _colored = false; return; } int color[MaxLogLevels]; std::istringstream ss(str); for (uint8 i = 0; i < MaxLogLevels; ++i) { ss >> color[i]; if (!ss) return; if (color[i] < 0 || color[i] >= MaxColors) return; } for (uint8 i = 0; i < MaxLogLevels; ++i) _colors[i] = ColorTypes(color[i]); _colored = true; }
void Log::InitColors(const std::string& str) { if(str.empty()) { m_colored = false; return; } int color[4]; std::istringstream ss(str); for(uint8 i = 0; i < LogLevels; ++i) { ss >> color[i]; if(!ss) return; if(color[i] < 0 || color[i] >= Colors) return; } for(uint8 i = 0; i < LogLevels; ++i) m_colors[i] = ColorTypes(color[i]); m_colored = true; }
AppenderConsole::AppenderConsole(uint8 id, std::string const& name, LogLevel level, AppenderFlags flags, std::vector<char const*> extraArgs) : Appender(id, name, level, flags), _colored(false) { for (uint8 i = 0; i < NUM_ENABLED_LOG_LEVELS; ++i) _colors[i] = ColorTypes(MaxColors); if (!extraArgs.empty()) InitColors(extraArgs[0]); }
AppenderConsole::AppenderConsole(uint8 id, std::string const& name, LogLevel level, AppenderFlags flags, ExtraAppenderArgs extraArgs) : Appender(id, name, level, flags), _colored(false) { for (uint8 i = 0; i < MaxLogLevels; ++i) _colors[i] = ColorTypes(MaxColors); if (!extraArgs.empty()) InitColors(extraArgs[0]); }
/// Sets color for upcoming output void Log::SetColor(ColorTypes color) { if (sConsole.IsEnabled()) { fputc(0xFF, stderr); #if defined(__PDCURSES__) && !defined(PDC_RGB) // BGR mode, convert from RGB then int clr = int(color); int rgb = (clr & 0x07); clr &= ~0x07; clr |= (rgb & 0x1) << 2; // red clr |= (rgb & 0x2); // green clr |= (rgb & 0x4) >> 2; // blue color = ColorTypes(clr); #endif fputc((char) color, stderr); return; }
void Log::InitColors(const std::string& str) { std::stringstream ss(str); for (uint8 i = 0; i < MAX_LOG_TYPES; ++i) { int color; ss >> color; if (ss.eof() || ss.fail() || ss.bad()) break; if (color < 0 || color >= MAX_COLORS) break; m_colors[i] = ColorTypes (color); } }
AppenderConsole::AppenderConsole(uint8 id, std::string const& name, LogLevel level, AppenderFlags flags): Appender(id, name, APPENDER_CONSOLE, level, flags), _colored(false) { for (uint8 i = 0; i < MaxLogLevels; ++i) _colors[i] = ColorTypes(MaxColors); }