summaryrefslogtreecommitdiffstats
path: root/src/Common/Logger.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/Logger.h')
-rw-r--r--src/Common/Logger.h21
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 {