From 690ac740d2e8a7095f0764b39dc00c69df899ae6 Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Mon, 11 Nov 2013 13:19:38 -0500 Subject: [PATCH] support ANSI colors in logging class --- Util/SimpleLogger.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Util/SimpleLogger.h b/Util/SimpleLogger.h index 5ee24aa5c..bf531f0d2 100644 --- a/Util/SimpleLogger.h +++ b/Util/SimpleLogger.h @@ -37,6 +37,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. enum LogLevel { logINFO, logWARNING, logDEBUG }; static boost::mutex logger_mutex; +const char COL_RESET[] = "\x1b[0m"; +const char RED[] = "\x1b[31m"; +const char GREEN[] = "\x1b[32m"; +const char YELLOW[] = "\x1b[33m"; +const char BLUE[] = "\x1b[34m"; +const char MAGENTA[] = "\x1b[35m"; +const char CYAN[] = "\x1b[36m"; class LogPolicy : boost::noncopyable { public: @@ -97,14 +104,14 @@ public: if(!LogPolicy::GetInstance().IsMute()) { switch(level) { case logINFO: - std::cout << os.str() << std::endl; + std::cout << os.str() << COL_RESET << std::endl; break; case logWARNING: - std::cerr << os.str() << std::endl; + std::cerr << RED << os.str() << COL_RESET << std::endl; break; case logDEBUG: #ifndef NDEBUG - std::cout << os.str() << std::endl; + std::cout << YELLOW << os.str() << COL_RESET << std::endl; #endif break; default: