summaryrefslogtreecommitdiff
path: root/src/mbgl/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/platform')
-rw-r--r--src/mbgl/platform/log.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mbgl/platform/log.cpp b/src/mbgl/platform/log.cpp
index 4bbff8da5d..e9712f727c 100644
--- a/src/mbgl/platform/log.cpp
+++ b/src/mbgl/platform/log.cpp
@@ -4,6 +4,16 @@
namespace mbgl {
+namespace {
+
+static std::unique_ptr<Log::Observer> currentObserver;
+
+}
+
+void Log::setObserver(std::unique_ptr<Observer> observer) {
+ currentObserver = std::move(observer);
+}
+
void Log::record(EventSeverity severity, Event event, const std::string &msg) {
record(severity, event, -1, msg);
}
@@ -23,6 +33,10 @@ void Log::record(EventSeverity severity, Event event, int64_t code) {
}
void Log::record(EventSeverity severity, Event event, int64_t code, const std::string &msg) {
+ if (currentObserver && currentObserver->onRecord(severity, event, code, msg)) {
+ return;
+ }
+
platformRecord(severity, event, code, msg);
}