diff options
-rw-r--r-- | include/mbgl/platform/log.hpp | 2 | ||||
-rw-r--r-- | platform/android/log_android.cpp | 7 | ||||
-rw-r--r-- | platform/darwin/log_nslog.mm | 6 | ||||
-rw-r--r-- | platform/default/log_stderr.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/platform/log.cpp | 26 |
5 files changed, 32 insertions, 13 deletions
diff --git a/include/mbgl/platform/log.hpp b/include/mbgl/platform/log.hpp index de7f131714..5d287eb572 100644 --- a/include/mbgl/platform/log.hpp +++ b/include/mbgl/platform/log.hpp @@ -68,7 +68,7 @@ private: // This method is the data sink that must be implemented by each platform we // support. It should ideally output the error message in a human readable // format to the developer. - static void platformRecord(EventSeverity severity, Event event, int64_t code, const std::string &msg); + static void platformRecord(EventSeverity severity, const std::string &msg); }; } diff --git a/platform/android/log_android.cpp b/platform/android/log_android.cpp index 9de8232bac..e5c8cfd812 100644 --- a/platform/android/log_android.cpp +++ b/platform/android/log_android.cpp @@ -1,8 +1,5 @@ #include <mbgl/platform/log.hpp> -#define __STDC_FORMAT_MACROS // NDK bug workaround: https://code.google.com/p/android/issues/detail?id=72349 -#include <cinttypes> - #include <android/log.h> namespace mbgl { @@ -30,8 +27,8 @@ int severityToPriority(EventSeverity severity) { } // namespace -void Log::platformRecord(EventSeverity severity, Event event, int64_t code, const std::string &msg) { - __android_log_print(severityToPriority(severity), EventClass(event).c_str(), "(%" PRId64 ") %s", code, msg.c_str()); +void Log::platformRecord(EventSeverity severity, const std::string &msg) { + __android_log_print(severityToPriority(severity), "mbgl", "%s", msg.c_str()); } } diff --git a/platform/darwin/log_nslog.mm b/platform/darwin/log_nslog.mm index 5d53ed812f..a2e31968ab 100644 --- a/platform/darwin/log_nslog.mm +++ b/platform/darwin/log_nslog.mm @@ -4,12 +4,10 @@ namespace mbgl { -void Log::platformRecord(EventSeverity severity, Event event, int64_t code, - const std::string &msg) { +void Log::platformRecord(EventSeverity severity, const std::string &msg) { NSString *message = [[NSString alloc] initWithBytes:msg.data() length:msg.size() encoding:NSUTF8StringEncoding]; - NSLog(@"[%s] %s: (%lld) %@", EventSeverityClass(severity).c_str(), EventClass(event).c_str(), - code, message); + NSLog(@"[%s] %@", EventSeverityClass(severity).c_str(), message); } } diff --git a/platform/default/log_stderr.cpp b/platform/default/log_stderr.cpp index 3305176d96..f7ef341845 100644 --- a/platform/default/log_stderr.cpp +++ b/platform/default/log_stderr.cpp @@ -4,8 +4,8 @@ namespace mbgl { -void Log::platformRecord(EventSeverity severity, Event event, int64_t code, const std::string &msg) { - std::cerr << "[" << severity << "] " << event << ": (" << code << ") " << msg << std::endl; +void Log::platformRecord(EventSeverity severity, const std::string &msg) { + std::cerr << "[" << severity << "] " << msg << std::endl; } } diff --git a/src/mbgl/platform/log.cpp b/src/mbgl/platform/log.cpp index e9712f727c..d6cbc4fd11 100644 --- a/src/mbgl/platform/log.cpp +++ b/src/mbgl/platform/log.cpp @@ -1,6 +1,9 @@ #include <mbgl/platform/log.hpp> +#include <mbgl/map/environment.hpp> + #include <cstdarg> +#include <sstream> namespace mbgl { @@ -37,7 +40,28 @@ void Log::record(EventSeverity severity, Event event, int64_t code, const std::s return; } - platformRecord(severity, event, code, msg); + std::stringstream logStream; + + if (Environment::inScope()) { + logStream << "{" << Environment::Get().getID() << "}"; + } + + const std::string threadName = Environment::threadName(); + if (!threadName.empty()) { + logStream << "{" << threadName << "}"; + } + + logStream << "[" << event << "]"; + + if (code >= 0) { + logStream << "(" << code << ")"; + } + + if (!msg.empty()) { + logStream << ": " << msg; + } + + platformRecord(severity, logStream.str()); } } |