From a7adf93457be4b5a07eff08848cc0b5763722710 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 22 Sep 2008 18:46:30 +0200 Subject: Einige Verbesserungen am Logger --- src/Common/Logger.h | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'src/Common/Logger.h') 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 #include #include @@ -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 { -- cgit v1.2.3