summaryrefslogtreecommitdiffstats
path: root/src/Core/Application.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Core/Application.h')
-rw-r--r--src/Core/Application.h29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/Core/Application.h b/src/Core/Application.h
index ffab639..7f7ec76 100644
--- a/src/Core/Application.h
+++ b/src/Core/Application.h
@@ -22,11 +22,10 @@
#include "export.h"
+#include "Format.h"
#include "Logger.h"
-#include <cstdarg>
-#include <string>
-
+#include <sstream>
#include <boost/asio/io_service.hpp>
#include <boost/noncopyable.hpp>
@@ -45,7 +44,7 @@ class MAD_CORE_EXPORT Application : private boost::noncopyable {
LogManager *logManager;
ThreadManager *threadManager;
- void logfv(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &format, va_list ap);
+ void doLog(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &message);
protected:
Application();
@@ -69,25 +68,27 @@ class MAD_CORE_EXPORT Application : private boost::noncopyable {
}
- void log(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &message);
+ template<typename T>
+ void log(Logger::MessageCategory category, Logger::MessageLevel level, const T &message) {
+ std::ostringstream stream;
+ stream << message;
+ doLog(category, level, String::fromLocale(stream.str()));
+ }
- void log(Logger::MessageCategory category, const Core::String &message) {
+ template<typename T>
+ void log(Logger::MessageCategory category, const T &message) {
log(category, Logger::LOG_DEFAULT, message);
}
- void log(Logger::MessageLevel level, const Core::String &message) {
+ template<typename T>
+ void log(Logger::MessageLevel level, const T &message) {
log(Logger::LOG_GENERAL, level, message);
}
- void log(const Core::String &message) {
+ template<typename T>
+ void log(const T &message) {
log(Logger::LOG_GENERAL, Logger::LOG_DEFAULT, message);
}
-
-
- void logf(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &format, ...);
- void logf(Logger::MessageCategory category, const Core::String &format, ...);
- void logf(Logger::MessageLevel level, const Core::String &format, ...);
- void logf(const Core::String &format, ...);
};
}