summaryrefslogtreecommitdiff
path: root/src/mbgl/util
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-11-22 15:43:19 +0100
committerKonstantin Käfer <mail@kkaefer.com>2016-11-22 20:58:51 +0100
commite76de0540284118845c93c4351c82c6c8d5a090a (patch)
treedc295f87b74c5a4766444f6d1e7020e6219017a8 /src/mbgl/util
parent117863f1114551407c481abc752f5fcfd139c878 (diff)
downloadqtlocation-mapboxgl-e76de0540284118845c93c4351c82c6c8d5a090a.tar.gz
[build] move logging to util
Diffstat (limited to 'src/mbgl/util')
-rw-r--r--src/mbgl/util/event.cpp34
-rw-r--r--src/mbgl/util/logging.cpp67
-rw-r--r--src/mbgl/util/mapbox.cpp2
-rw-r--r--src/mbgl/util/stopwatch.cpp2
-rw-r--r--src/mbgl/util/stopwatch.hpp2
-rw-r--r--src/mbgl/util/thread.hpp2
6 files changed, 105 insertions, 4 deletions
diff --git a/src/mbgl/util/event.cpp b/src/mbgl/util/event.cpp
new file mode 100644
index 0000000000..3a3be20f5c
--- /dev/null
+++ b/src/mbgl/util/event.cpp
@@ -0,0 +1,34 @@
+#include <mbgl/util/event.hpp>
+#include <mbgl/util/enum.hpp>
+
+namespace mbgl {
+
+MBGL_DEFINE_ENUM(EventSeverity, {
+ { EventSeverity::Debug, "DEBUG" },
+ { EventSeverity::Info, "INFO" },
+ { EventSeverity::Warning, "WARNING" },
+ { EventSeverity::Error, "ERROR" },
+ { EventSeverity(-1), "UNKNOWN" },
+});
+
+MBGL_DEFINE_ENUM(Event, {
+ { Event::General, "General" },
+ { Event::Setup, "Setup" },
+ { Event::Shader, "Shader" },
+ { Event::ParseStyle, "ParseStyle" },
+ { Event::ParseTile, "ParseTile" },
+ { Event::Render, "Render" },
+ { Event::Style, "Style" },
+ { Event::Database, "Database" },
+ { Event::HttpRequest, "HttpRequest" },
+ { Event::Sprite, "Sprite" },
+ { Event::Image, "Image" },
+ { Event::OpenGL, "OpenGL" },
+ { Event::JNI, "JNI" },
+ { Event::Android, "Android" },
+ { Event::Crash, "Crash" },
+ { Event::Glyph, "Glyph" },
+ { Event(-1), "Unknown" },
+});
+
+} // namespace mbgl
diff --git a/src/mbgl/util/logging.cpp b/src/mbgl/util/logging.cpp
new file mode 100644
index 0000000000..939f1def64
--- /dev/null
+++ b/src/mbgl/util/logging.cpp
@@ -0,0 +1,67 @@
+#include <mbgl/util/logging.hpp>
+#include <mbgl/util/enum.hpp>
+#include <mbgl/util/thread.hpp>
+
+#include <cstdio>
+#include <cstdarg>
+#include <sstream>
+
+namespace mbgl {
+
+namespace {
+
+static std::unique_ptr<Log::Observer> currentObserver;
+
+} // namespace
+
+void Log::setObserver(std::unique_ptr<Observer> observer) {
+ currentObserver = std::move(observer);
+}
+
+std::unique_ptr<Log::Observer> Log::removeObserver() {
+ std::unique_ptr<Observer> observer;
+ std::swap(observer, currentObserver);
+ return observer;
+}
+
+void Log::record(EventSeverity severity, Event event, const std::string &msg) {
+ record(severity, event, -1, msg);
+}
+
+void Log::record(EventSeverity severity, Event event, const char* format, ...) {
+ va_list args;
+ va_start(args, format);
+ char msg[4096];
+ vsnprintf(msg, sizeof(msg), format, args);
+ va_end(args);
+
+ record(severity, event, -1, msg);
+}
+
+void Log::record(EventSeverity severity, Event event, int64_t code) {
+ record(severity, event, code, std::string());
+}
+
+void Log::record(EventSeverity severity, Event event, int64_t code, const std::string &msg) {
+ if (currentObserver && severity != EventSeverity::Debug &&
+ currentObserver->onRecord(severity, event, code, msg)) {
+ return;
+ }
+
+ std::stringstream logStream;
+
+ logStream << "{" << platform::getCurrentThreadName() << "}";
+ logStream << "[" << Enum<Event>::toString(event) << "]";
+
+ if (code >= 0) {
+ logStream << "(" << code << ")";
+ }
+
+ if (!msg.empty()) {
+ logStream << ": " << msg;
+ }
+
+ platformRecord(severity, logStream.str());
+}
+
+} // namespace mbgl
diff --git a/src/mbgl/util/mapbox.cpp b/src/mbgl/util/mapbox.cpp
index 89f6a55167..839924d77c 100644
--- a/src/mbgl/util/mapbox.cpp
+++ b/src/mbgl/util/mapbox.cpp
@@ -1,6 +1,6 @@
#include <mbgl/util/mapbox.hpp>
#include <mbgl/util/constants.hpp>
-#include <mbgl/platform/log.hpp>
+#include <mbgl/util/logging.hpp>
#include <stdexcept>
#include <vector>
diff --git a/src/mbgl/util/stopwatch.cpp b/src/mbgl/util/stopwatch.cpp
index d588b79254..3883d8535f 100644
--- a/src/mbgl/util/stopwatch.cpp
+++ b/src/mbgl/util/stopwatch.cpp
@@ -2,7 +2,7 @@
#include <mbgl/util/stopwatch.hpp>
#include <mbgl/util/string.hpp>
#include <mbgl/util/chrono.hpp>
-#include <mbgl/platform/log.hpp>
+#include <mbgl/util/logging.hpp>
#include <iostream>
#include <atomic>
diff --git a/src/mbgl/util/stopwatch.hpp b/src/mbgl/util/stopwatch.hpp
index 74cc2c412d..6214dae958 100644
--- a/src/mbgl/util/stopwatch.hpp
+++ b/src/mbgl/util/stopwatch.hpp
@@ -1,6 +1,6 @@
#pragma once
-#include <mbgl/platform/event.hpp>
+#include <mbgl/util/event.hpp>
#include <mbgl/util/chrono.hpp>
#include <string>
diff --git a/src/mbgl/util/thread.hpp b/src/mbgl/util/thread.hpp
index 91eef745fa..8cfef8a764 100644
--- a/src/mbgl/util/thread.hpp
+++ b/src/mbgl/util/thread.hpp
@@ -8,7 +8,7 @@
#include <mbgl/util/run_loop.hpp>
#include <mbgl/util/thread_context.hpp>
-#include <mbgl/platform/platform.hpp>
+#include <mbgl/util/platform.hpp>
#include <pthread.h>