diff options
Diffstat (limited to 'src/Common/Logger.h')
-rw-r--r-- | src/Common/Logger.h | 39 |
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, ...); |