diff options
Diffstat (limited to 'src/Core/Application.h')
-rw-r--r-- | src/Core/Application.h | 29 |
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, ...); }; } |