Log the Environment ID and the Thread name

To make it easier to debug, add the Environment ID and the Thread name
to the log messages. For instance log messages from the TileParser will look like:

[WARNING] {0}{TileWorker_15/18653/9486}[ParseTile]: some relevant warning message
   |       |             |                  |
   |       |             |                  +-> Component
   |       |             +--------------------> Thread name
   |       +----------------------------------> Environment ID
   +------------------------------------------> Severity level

Log messages that are not inside an Environment::Scope will work
normally and will look like:

[WARNING] [JNI]: some relevant warning message

Fixes #882.
This commit is contained in:
Thiago Marcos P. Santos
2015-03-15 03:20:53 +02:00
committed by Konstantin Käfer
parent 66841bf7eb
commit 3254cdc85c
5 changed files with 32 additions and 13 deletions

View File

@@ -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());
}
}