Loading...
Searching...
No Matches
1#ifndef SRC_COMMON_LOGGING_HPP_
2#define SRC_COMMON_LOGGING_HPP_
19#define INFO_STR "INFO"
20#define WARN_STR "WARN"
21#define ERROR_STR "ERROR"
28#define GET_LEVEL(level) \
29 (level == ERROR ? ERROR_STR : (level == WARN ? WARN_STR : INFO_STR))
39#if LOGGING_LEVEL == INFO
40 #define LOG_INFO(msg) LOG(INFO, msg)
41 #define LOG_WARN(msg) LOG(WARN, msg)
42 #define LOG_ERROR(msg) LOG(ERROR, msg)
43#elif LOGGING_LEVEL == WARN
45 #define LOG_WARN(msg) LOG(WARN, msg)
46 #define LOG_ERROR(msg) LOG(ERROR, msg)
50 #define LOG_ERROR(msg) LOG(ERROR, msg)
75#define INFO_STREAM std::cout
78#define WARN_STREAM std::cerr
81#define ERROR_STREAM std::cerr
89#define GET_STREAM(level) \
90 (level == ERROR ? ERROR_STREAM : (level == WARN ? WARN_STREAM : INFO_STREAM))
98#define LOG(level, message) { \
100 const std::string level_string = GET_LEVEL(level); \
102 std::time_t now = std::time(nullptr); \
104 std::tm *local_time = std::localtime(&now); \
106 GET_STREAM(level) << \
107 "[" << level_string << " " << std::put_time(local_time, "%Y-%m-%d %H:%M:%S %Z") << "] " << \
108 message << std::endl; \
117#define LOG_ERROR(msg)