diff options
Diffstat (limited to 'src/Core/Application.cpp')
-rw-r--r-- | src/Core/Application.cpp | 65 |
1 files changed, 2 insertions, 63 deletions
diff --git a/src/Core/Application.cpp b/src/Core/Application.cpp index 86b5b7b..83ef3a7 100644 --- a/src/Core/Application.cpp +++ b/src/Core/Application.cpp @@ -23,11 +23,7 @@ #include "ThreadManager.h" #include <clocale> -#include <cstdlib> - -#ifndef va_copy -# define va_copy(d, s) (d) = (s) -#endif +#include <boost/date_time/microsec_time_clock.hpp> namespace Mad { namespace Core { @@ -46,66 +42,9 @@ Application::~Application() { delete configManager; } - -void Application::logfv(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &format, va_list ap) { - int size = 100; - char *buf = (char*)std::malloc(size); - - // If buffer is too small, try again with bigger buffer - while(true) { - va_list ap2; - - va_copy(ap2, ap); - int n = vsnprintf(buf, size, format.toLocale().c_str(), ap2); - va_end(ap2); - - if(n > -1 && n < size) { - logManager->log(category, level, boost::posix_time::microsec_clock::universal_time(), Core::String::fromLocale(buf)); - std::free(buf); - return; - } - - if(n > -1) - size = n+1; - else - size *= 2; - - buf = (char*)std::realloc(buf, size); - } - -} - -void Application::log(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &message) { +void Application::doLog(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &message) { logManager->log(category, level, boost::posix_time::microsec_clock::universal_time(), message); } -void Application::logf(Logger::MessageCategory category, Logger::MessageLevel level, const Core::String &format, ...) { - va_list ap; - va_start(ap, format); - logfv(category, level, format, ap); - va_end(ap); -} - -void Application::logf(Logger::MessageCategory category, const Core::String &format, ...) { - va_list ap; - va_start(ap, format); - logfv(category, Logger::LOG_DEFAULT, format, ap); - va_end(ap); -} - -void Application::logf(Logger::MessageLevel level, const Core::String &format, ...) { - va_list ap; - va_start(ap, format); - logfv(Logger::LOG_GENERAL, level, format, ap); - va_end(ap); -} - -void Application::logf(const Core::String &format, ...) { - va_list ap; - va_start(ap, format); - logfv(Logger::LOG_GENERAL, Logger::LOG_DEFAULT, format, ap); - va_end(ap); -} - } } |