diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-09-30 22:28:33 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-09-30 22:28:33 +0200 |
commit | 1a43fad56dc945c72a4ab711d2c9ff6d1a5a1502 (patch) | |
tree | e2b6847ce5e6a6d41269f1d2fa30011060abcd08 /src/Core/Application.h | |
parent | 241f1947580df7f905ed3d6969cc3a6a4bb99f5a (diff) | |
download | mad-1a43fad56dc945c72a4ab711d2c9ff6d1a5a1502.tar mad-1a43fad56dc945c72a4ab711d2c9ff6d1a5a1502.zip |
Added Format class for improved logging experience :)
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, ...); }; } |