summaryrefslogtreecommitdiff
path: root/src/mbgl/platform
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <thiago@mapbox.com>2015-03-10 16:13:53 +0200
committerThiago Marcos P. Santos <thiago@mapbox.com>2015-03-12 13:28:41 +0200
commit79f3149d9d973a31bcc5cf3ba1dbe77d90884ace (patch)
treea23ea65597fb0848f65850d1d65d2b31ba9275a3 /src/mbgl/platform
parent51bc265db341f1d98b4fd46be80241771f854eb5 (diff)
downloadqtlocation-mapboxgl-79f3149d9d973a31bcc5cf3ba1dbe77d90884ace.tar.gz
Update the FixtureLog
Now the FixtureLog is an Log::Observer instead of a backend. The observer can sniff and filter log messages, that can be used for fail a test if it emits a warning for example.
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);
}