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.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/Common/LogManager.h b/src/Common/LogManager.h
index 7c0f1e0..5fc3824 100644
--- a/src/Common/LogManager.h
+++ b/src/Common/LogManager.h
@@ -23,8 +23,7 @@
#include "Configurable.h"
#include "Logger.h"
#include "RemoteLogger.h"
-#include "SingletonPtr.h"
-#include "SharedPtr.h"
+#include "Backends/ConsoleLogger.h"
#include <memory>
#include <queue>
@@ -53,42 +52,44 @@ class LogManager : public Configurable {
std::string source;
};
- static SingletonPtr<LogManager> logManager;
+ static LogManager logManager;
- std::set<SharedPtr<Logger> > loggers;
- std::set<SharedPtr<RemoteLogger> > remoteLoggers;
+ Backends::ConsoleLogger consoleLogger;
+
+ std::set<Logger*> loggers;
+ std::set<RemoteLogger*> remoteLoggers;
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);
- void registerLogger(SharedPtr<Logger> logger) {
+ void registerLogger(Logger *logger) {
loggers.insert(logger);
}
- void unregisterLogger(SharedPtr<Logger> logger) {
+ void unregisterLogger(Logger *logger) {
loggers.erase(logger);
}
- void registerLogger(SharedPtr<RemoteLogger> logger) {
+ void registerLogger(RemoteLogger *logger) {
remoteLoggers.insert(logger);
}
- void unregisterLogger(SharedPtr<RemoteLogger> logger) {
+ void unregisterLogger(RemoteLogger *logger) {
remoteLoggers.erase(logger);
}
static LogManager *get() {
- return logManager.get();
+ return &logManager;
}
};