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.h39
1 files changed, 7 insertions, 32 deletions
diff --git a/src/Common/Logger.h b/src/Common/Logger.h
index cf7e7d5..436c232 100644
--- a/src/Common/Logger.h
+++ b/src/Common/Logger.h
@@ -21,66 +21,41 @@
#define MAD_COMMON_LOGGER_H_
#include "LoggerBase.h"
-#include "Configurable.h"
-#include <algorithm>
#include <cstdarg>
#include <ctime>
-#include <memory>
-#include <queue>
-#include <set>
#include <string>
namespace Mad {
namespace Common {
+class LogManager;
+
class Logger : public LoggerBase {
private:
- class ConfigHelper : private Configurable {
- protected:
- virtual bool handleConfigEntry(const ConfigEntry &entry, bool handled);
- virtual void configFinished();
-
- public:
- ~ConfigHelper();
- };
-
- struct Message {
- MessageCategory category;
- MessageLevel level;
- time_t timestamp;
- std::string message;
- };
-
- static std::auto_ptr<ConfigHelper> configHelper;
- static std::set<Logger*> loggers;
- static std::auto_ptr<std::queue<Message> > messageQueue;
+ friend class LogManager;
static void logfv(MessageCategory category, MessageLevel level, const char *format, va_list ap);
- static void log(MessageCategory category, MessageLevel level, time_t timestamp, const std::string &message);
-
protected:
virtual void logMessage(MessageCategory category, MessageLevel level, time_t timestamp, const std::string &message) = 0;
public:
- static void initConfigHelper() {
- configHelper.reset(new ConfigHelper());
- }
+ static void log(MessageCategory category, MessageLevel level, const std::string &message);
- static void log(MessageCategory category, MessageLevel level, const std::string &message) {
- log(category, level, std::time(0), message);
- }
static void log(MessageCategory category, const std::string &message) {
log(category, DEFAULT, message);
}
+
static void log(MessageLevel level, const std::string &message) {
log(GENERAL, level, message);
}
+
static void log(const std::string &message) {
log(GENERAL, DEFAULT, message);
}
+
static void logf(MessageCategory category, MessageLevel level, const char *format, ...);
static void logf(MessageCategory category, const char *format, ...);
static void logf(MessageLevel level, const char *format, ...);