summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mbgl/platform/log.hpp2
-rw-r--r--platform/android/log_android.cpp7
-rw-r--r--platform/darwin/log_nslog.mm6
-rw-r--r--platform/default/log_stderr.cpp4
-rw-r--r--src/mbgl/platform/log.cpp26
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());
}
}