From 6d378d90fee4672a9f711a59905c60cfd72f63c1 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Mon, 16 Sep 2019 13:02:13 +0000 Subject: [PATCH] easylogging++: always omit ANSI codes when colour is not supported --- external/easylogging++/easylogging++.cc | 11 ++++++++--- external/easylogging++/easylogging++.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/external/easylogging++/easylogging++.cc b/external/easylogging++/easylogging++.cc index a5a4a64b7..7f9fd41cb 100644 --- a/external/easylogging++/easylogging++.cc +++ b/external/easylogging++/easylogging++.cc @@ -684,6 +684,11 @@ void LogBuilder::convertToColoredOutput(base::type::string_t* logLine, Level lev } } +void LogBuilder::setColor(Color color, bool bright) { + if (m_termSupportsColor) + el::base::utils::setConsoleColor(color, bright); +} + // Logger Logger::Logger(const std::string& id, base::LogStreamsReferenceMap* logStreamsReference) : @@ -2485,11 +2490,11 @@ void DefaultLogDispatchCallback::dispatch(base::type::string_t&& rawLinePrefix, if (m_data->logMessage()->logger()->m_typedConfigurations->toStandardOutput(m_data->logMessage()->level())) { const el::Level level = m_data->logMessage()->level(); const el::Color color = m_data->logMessage()->color(); - el::base::utils::setConsoleColor(el::base::utils::colorFromLevel(level), false); + m_data->logMessage()->logger()->logBuilder()->setColor(el::base::utils::colorFromLevel(level), false); ELPP_COUT << rawLinePrefix; - el::base::utils::setConsoleColor(color == el::Color::Default ? el::base::utils::colorFromLevel(level): color, color != el::Color::Default); + m_data->logMessage()->logger()->logBuilder()->setColor(color == el::Color::Default ? el::base::utils::colorFromLevel(level): color, color != el::Color::Default); ELPP_COUT << rawLinePayload; - el::base::utils::setConsoleColor(el::Color::Default, false); + m_data->logMessage()->logger()->logBuilder()->setColor(el::Color::Default, false); ELPP_COUT << std::flush; } } diff --git a/external/easylogging++/easylogging++.h b/external/easylogging++/easylogging++.h index a10b0c8e6..398afd20a 100644 --- a/external/easylogging++/easylogging++.h +++ b/external/easylogging++/easylogging++.h @@ -2235,6 +2235,7 @@ class LogBuilder : base::NoCopy { } virtual base::type::string_t build(const LogMessage* logMessage, bool appendNewLine) const = 0; void convertToColoredOutput(base::type::string_t* logLine, Level level, Color color); + void setColor(Color color, bool bright); private: bool m_termSupportsColor; friend class el::base::DefaultLogDispatchCallback;