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