diff options
Diffstat (limited to 'src/Common/Logger.h')
-rw-r--r-- | src/Common/Logger.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/Common/Logger.h b/src/Common/Logger.h index 360b746..ad75fbe 100644 --- a/src/Common/Logger.h +++ b/src/Common/Logger.h @@ -20,8 +20,6 @@ #ifndef MAD_COMMON_LOGGER_H_ #define MAD_COMMON_LOGGER_H_ -#define CATEGORYCOUNT 9 //Please insert the number of categories - #include <algorithm> #include <cstdarg> #include <list> @@ -36,6 +34,7 @@ class Logger { enum MessageLevel { CRITICAL, ERROR, WARNING, DEFAULT, VERBOSE, DEBUG }; + enum MessageCategory { SYSTEM, NETWORK, DAEMON, USER, DISK, PROGRAM, GENERAL }; @@ -48,7 +47,7 @@ class Logger { static void logfv(MessageCategory category, MessageLevel level, const char *format, va_list ap); protected: - Logger() : level(DEFAULT) {} + Logger() : level(DEFAULT) {setAllCategories();} virtual void logMessage(MessageCategory category, MessageLevel level, const std::string &message) = 0; public: @@ -77,23 +76,19 @@ class Logger { void setCategory(MessageCategory newCategory) { categories.insert(newCategory); } + void unsetCategory(MessageCategory oldCategory) { categories.erase(oldCategory); } - void setAllCategories() { - //each loop represents one category - for(int category = 1; category <= CATEGORYCOUNT; category++) { - categories.insert((MessageCategory)category); - } - } + + void setAllCategories(); + void unsetAllCategories() { categories.clear(); } + bool isCategorySet(MessageCategory category) { - if(categories.find(category) == categories.end()) - return false; - else - return true; + return (categories.find(category) != categories.end()); } MessageLevel getLevel() const { |