@@ -33,17 +33,47 @@ namespace logs {
33
33
#define LOG_HELP_BOLD (...) \
34
34
logs::logMsg (logs::HELP_BOLD, __FUNCTION__, __LINE__, false , __VA_ARGS__);
35
35
36
- #define LOG_D (...) logs::logMsg(logs::DEBUG, __FUNCTION__, __LINE__, false , __VA_ARGS__);
37
- #define LOG_I (...) logs::logMsg(logs::INFO, __FUNCTION__, __LINE__, false , __VA_ARGS__);
38
- #define LOG_W (...) logs::logMsg(logs::WARNING, __FUNCTION__, __LINE__, false , __VA_ARGS__);
39
- #define LOG_E (...) logs::logMsg(logs::ERROR, __FUNCTION__, __LINE__, false , __VA_ARGS__);
40
- #define LOG_F (...) logs::logMsg(logs::FATAL, __FUNCTION__, __LINE__, false , __VA_ARGS__);
41
-
42
- #define PLOG_D (...) logs::logMsg(logs::DEBUG, __FUNCTION__, __LINE__, true , __VA_ARGS__);
43
- #define PLOG_I (...) logs::logMsg(logs::INFO, __FUNCTION__, __LINE__, true , __VA_ARGS__);
44
- #define PLOG_W (...) logs::logMsg(logs::WARNING, __FUNCTION__, __LINE__, true , __VA_ARGS__);
45
- #define PLOG_E (...) logs::logMsg(logs::ERROR, __FUNCTION__, __LINE__, true , __VA_ARGS__);
46
- #define PLOG_F (...) logs::logMsg(logs::FATAL, __FUNCTION__, __LINE__, true , __VA_ARGS__);
36
+ #define LOG_D (...) \
37
+ if (logs::getLogLevel() <= logs::DEBUG) { \
38
+ logs::logMsg (logs::DEBUG, __FUNCTION__, __LINE__, false , __VA_ARGS__); \
39
+ }
40
+ #define LOG_I (...) \
41
+ if (logs::getLogLevel() <= logs::INFO) { \
42
+ logs::logMsg (logs::INFO, __FUNCTION__, __LINE__, false , __VA_ARGS__); \
43
+ }
44
+ #define LOG_W (...) \
45
+ if (logs::getLogLevel() <= logs::WARNING) { \
46
+ logs::logMsg (logs::WARNING, __FUNCTION__, __LINE__, false , __VA_ARGS__); \
47
+ }
48
+ #define LOG_E (...) \
49
+ if (logs::getLogLevel() <= logs::ERROR) { \
50
+ logs::logMsg (logs::ERROR, __FUNCTION__, __LINE__, false , __VA_ARGS__); \
51
+ }
52
+ #define LOG_F (...) \
53
+ if (logs::getLogLevel() <= logs::FATAL) { \
54
+ logs::logMsg (logs::FATAL, __FUNCTION__, __LINE__, false , __VA_ARGS__); \
55
+ }
56
+
57
+ #define PLOG_D (...) \
58
+ if (logs::getLogLevel() <= logs::DEBUG) { \
59
+ logs::logMsg (logs::DEBUG, __FUNCTION__, __LINE__, true , __VA_ARGS__); \
60
+ }
61
+ #define PLOG_I (...) \
62
+ if (logs::getLogLevel() <= logs::INFO) { \
63
+ logs::logMsg (logs::INFO, __FUNCTION__, __LINE__, true , __VA_ARGS__); \
64
+ }
65
+ #define PLOG_W (...) \
66
+ if (logs::getLogLevel() <= logs::WARNING) { \
67
+ logs::logMsg (logs::WARNING, __FUNCTION__, __LINE__, true , __VA_ARGS__); \
68
+ }
69
+ #define PLOG_E (...) \
70
+ if (logs::getLogLevel() <= logs::ERROR) { \
71
+ logs::logMsg (logs::ERROR, __FUNCTION__, __LINE__, true , __VA_ARGS__); \
72
+ }
73
+ #define PLOG_F (...) \
74
+ if (logs::getLogLevel() <= logs::FATAL) { \
75
+ logs::logMsg (logs::FATAL, __FUNCTION__, __LINE__, true , __VA_ARGS__); \
76
+ }
47
77
48
78
enum llevel_t {
49
79
DEBUG = 0 ,
@@ -58,7 +88,8 @@ enum llevel_t {
58
88
void logMsg (enum llevel_t ll, const char * fn, int ln, bool perr, const char * fmt, ...)
59
89
__attribute__((format(printf, 5 , 6 )));
60
90
void logStop (int sig);
61
- void logLevel (enum llevel_t ll);
91
+ void setLogLevel (enum llevel_t ll);
92
+ enum llevel_t getLogLevel (void );
62
93
void logFile (const std::string& log_file, int log_fd);
63
94
bool logSet ();
64
95
0 commit comments