Go to the documentation of this file. 37 #define ENABLE_VERBOSE 51 #define LOG_OUTPUT_STREAM std::cerr 54 #define VERBOSE_MSG(message) LOG(himalaya::kVerbose, message) 56 #define VERBOSE_MSG(message) 60 #define DEBUG_MSG(message) LOG(himalaya::kDebug, message) 62 #define DEBUG_MSG(message) 65 #define INFO_MSG(message) LOG(himalaya::kInfo, message) 66 #define WARNING_MSG(message) LOG(himalaya::kWarning, message) 67 #define ERROR_MSG(message) LOG(himalaya::kError, message) 70 #define FATAL_MSG(message) \ 73 throw std::runtime_error(message); \ 76 #define FATAL_MSG(message) \ 78 LOG(himalaya::kFatal, message); \ 79 throw std::runtime_error(message); \ 84 #define PRINT_PREFIX(level) 86 #define PRINT_PREFIX(level) \ 89 case himalaya::kVerbose: LOG_OUTPUT_STREAM << "Himalaya verbose: "; break; \ 90 case himalaya::kDebug: LOG_OUTPUT_STREAM << "Himalaya debug: "; break; \ 91 case himalaya::kInfo: LOG_OUTPUT_STREAM << "Himalaya info: "; break; \ 92 case himalaya::kWarning: LOG_OUTPUT_STREAM << "Himalaya warning: "; break; \ 93 case himalaya::kError: LOG_OUTPUT_STREAM << "Himalaya error: "; break; \ 94 case himalaya::kFatal: LOG_OUTPUT_STREAM << "Himalaya fatal error: "; break; \ 102 #define PRINT_FILE_LINE(level) 104 #define PRINT_FILE_LINE(level) \ 107 case himalaya::kFatal: \ 108 LOG_OUTPUT_STREAM << "(file: " << __FILE__ \ 109 << ", line: " << __LINE__ << ") "; \ 118 #define PRINT_COLOR_CODE(level) 120 #define PRINT_COLOR_CODE(level) \ 123 case himalaya::kVerbose: LOG_OUTPUT_STREAM << "\033[0;36m"; break; \ 124 case himalaya::kDebug: LOG_OUTPUT_STREAM << "\033[0;34m"; break; \ 125 case himalaya::kInfo: LOG_OUTPUT_STREAM << "\033[1;34m"; break; \ 126 case himalaya::kWarning: LOG_OUTPUT_STREAM << "\033[0;31m"; break; \ 127 case himalaya::kError: LOG_OUTPUT_STREAM << "\033[1;31m"; break; \ 128 case himalaya::kFatal: LOG_OUTPUT_STREAM << "\033[41;1;37m"; break; \ 136 #define RESET_COLOR(level) 138 #define RESET_COLOR(level) \ 140 LOG_OUTPUT_STREAM << "\033[0m"; \ 145 #define PRINT_MESSAGE(level, message) 147 #define PRINT_MESSAGE(level, message) \ 149 LOG_OUTPUT_STREAM << message; \ 154 #define PRINT_ENDL(level) 156 #define PRINT_ENDL(level) \ 158 LOG_OUTPUT_STREAM << std::endl; \ 163 #define LOG(level, message) 166 #define LOG(level, message) \ 168 PRINT_COLOR_CODE(level); \ 169 PRINT_PREFIX(level); \ 170 PRINT_FILE_LINE(level); \ 171 RESET_COLOR(level); \ 172 PRINT_MESSAGE(level, message); \ 176 #define LOG(level, message) \ 178 PRINT_PREFIX(level); \ 179 PRINT_FILE_LINE(level); \ 180 PRINT_MESSAGE(level, message); \