diff options
Diffstat (limited to 'src/Common/LogManager.h')
-rw-r--r-- | src/Common/LogManager.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/Common/LogManager.h b/src/Common/LogManager.h index 22a8c75..7c0f1e0 100644 --- a/src/Common/LogManager.h +++ b/src/Common/LogManager.h @@ -23,6 +23,7 @@ #include "Configurable.h" #include "Logger.h" #include "RemoteLogger.h" +#include "SingletonPtr.h" #include "SharedPtr.h" #include <memory> @@ -52,7 +53,7 @@ class LogManager : public Configurable { std::string source; }; - static LogManager logManager; + static SingletonPtr<LogManager> logManager; std::set<SharedPtr<Logger> > loggers; std::set<SharedPtr<RemoteLogger> > remoteLoggers; @@ -60,13 +61,13 @@ class LogManager : public Configurable { std::auto_ptr<std::queue<Message> > messageQueue; std::auto_ptr<std::queue<RemoteMessage> > remoteMessageQueue; - LogManager() : messageQueue(new std::queue<Message>()), remoteMessageQueue(new std::queue<RemoteMessage>()) {} - protected: virtual bool handleConfigEntry(const ConfigEntry &entry, bool handled); virtual void configFinished(); public: + LogManager() : messageQueue(new std::queue<Message>()), remoteMessageQueue(new std::queue<RemoteMessage>()) {} + void log(MessageCategory category, MessageLevel level, time_t timestamp, const std::string &message); void log(MessageCategory category, MessageLevel level, time_t timestamp, const std::string &message, const std::string &source); @@ -87,7 +88,7 @@ class LogManager : public Configurable { } static LogManager *get() { - return &logManager; + return logManager.get(); } }; |