25 #include <spdlog/spdlog.h> 33 CRIT = spdlog::level::critical,
35 WARN = spdlog::level::warn,
37 INFO = spdlog::level::info,
45 void log(
const std::string &log_msg,
int ,
const char * ,
56 #define FUNCTION_NAME_MACRO __PRETTY_FUNCTION__ 58 #define FUNCTION_NAME_MACRO __FUNCTION__ 66 #define BUILD_STR(param) \ 68 std::stringstream logger_macro_ss__; \ 69 logger_macro_ss__ << param; \ 70 return logger_macro_ss__.str(); \ 77 #define DEBUG_0(msg) \ 78 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 84 #define DEBUG_1(msg, loggers) \ 85 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 86 LogLevel::DEBUG, loggers) 91 #define DEBUG_X(trash, msg, loggers, targetMacro, ...) targetMacro 98 DEBUG_X(, ##__VA_ARGS__, DEBUG_1(__VA_ARGS__), DEBUG_0(__VA_ARGS__), \ 99 DEBUG_NO_PARAM(__VA_ARGS__), ) 105 #define INFO_0(msg) \ 106 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 112 #define INFO_1(msg, loggers) \ 113 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 114 LogLevel::INFO, loggers) 119 #define INFO_X(trash, msg, loggers, targetMacro, ...) targetMacro 126 INFO_X(, ##__VA_ARGS__, INFO_1(__VA_ARGS__), INFO_0(__VA_ARGS__), \ 127 INFO_NO_PARAM(__VA_ARGS__), ) 133 #define NOTICE_0(msg) \ 134 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 140 #define NOTICE_1(msg, loggers) \ 141 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 142 LogLevel::NOTICE, loggers) 147 #define NOTICE_X(trash, msg, loggers, targetMacro, ...) targetMacro 153 #define NOTICE(...) \ 154 NOTICE_X(, ##__VA_ARGS__, NOTICE_1(__VA_ARGS__), NOTICE_0(__VA_ARGS__), \ 155 NOTICE_NO_PARAM(__VA_ARGS__), ) 161 #define WARN_0(msg) \ 162 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 168 #define WARN_1(msg, loggers) \ 169 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 175 #define WARN_X(trash, msg, loggers, targetMacro, ...) targetMacro 182 WARN_X(, ##__VA_ARGS__, WARN_1(__VA_ARGS__), WARN_0(__VA_ARGS__), \ 183 WARN_NO_PARAM(__VA_ARGS__), ) 189 #define ERROR_0(msg) \ 190 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 196 #define ERROR_1(msg, loggers) \ 197 LogHelper::log(BUILD_STR(msg), __LINE__, FUNCTION_NAME_MACRO, __FILE__, \ 203 #define ERROR_X(trash, msg, loggers, targetMacro, ...) targetMacro 210 ERROR_X(, ##__VA_ARGS__, ERROR_1(__VA_ARGS__), ERROR_0(__VA_ARGS__), \ 211 ERROR_NO_PARAM(__VA_ARGS__), ) 215 #define ASSERT_LOG(cond, msg) \ 218 (void)sizeof(cond); \ 221 #define ASSERT_LOG(cond, msg) \ 227 ERROR("Assertion failed in " << __FILE__ << " --> " \ 228 << FUNCTION_NAME_MACRO << ":" << __LINE__ \
#define WARN(...)
Warning macro.
#define NOTICE(...)
Notice macro.
#define INFO(...)
Information macro.
#define ERROR(...)
Error macro.
void log(const std::string &log_msg, int, const char *, const char *, LogLevel level)
#define DEBUG(...)
Debug macro.
LogLevel log_level_from_string(const std::string &level)