From e76de0540284118845c93c4351c82c6c8d5a090a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Tue, 22 Nov 2016 15:43:19 +0100 Subject: [build] move logging to util --- cmake/core-files.cmake | 12 ++-- cmake/node.cmake | 4 +- include/mbgl/platform/event.hpp | 58 ---------------- include/mbgl/platform/log.hpp | 80 ---------------------- include/mbgl/platform/platform.hpp | 32 --------- include/mbgl/util/event.hpp | 58 ++++++++++++++++ include/mbgl/util/logging.hpp | 80 ++++++++++++++++++++++ include/mbgl/util/platform.hpp | 32 +++++++++ platform/android/config.cmake | 2 +- platform/android/src/connectivity_listener.cpp | 2 +- platform/android/src/example_custom_layer.cpp | 2 +- .../android/src/geometry/conversion/feature.hpp | 2 +- platform/android/src/http_file_source.cpp | 2 +- platform/android/src/jni.cpp | 4 +- platform/android/src/log_android.cpp | 34 --------- platform/android/src/logging_android.cpp | 34 +++++++++ platform/android/src/native_map_view.cpp | 6 +- platform/android/src/run_loop.cpp | 2 +- platform/android/src/style/android_conversion.hpp | 2 +- platform/android/src/style/conversion/geojson.hpp | 2 +- platform/android/src/style/layers/custom_layer.cpp | 2 +- platform/android/src/style/layers/layer.cpp | 2 +- platform/android/src/style/sources/source.cpp | 2 +- platform/android/src/thread.cpp | 4 +- platform/darwin/src/log_nslog.mm | 14 ---- platform/darwin/src/logging_nslog.mm | 14 ++++ platform/darwin/src/nsthread.mm | 2 +- platform/darwin/src/string_nsstring.mm | 2 +- platform/default/default_file_source.cpp | 2 +- platform/default/headless_backend_osmesa.cpp | 2 +- platform/default/http_file_source.cpp | 2 +- platform/default/log_stderr.cpp | 12 ---- platform/default/logging_stderr.cpp | 12 ++++ platform/default/mbgl/storage/offline_database.cpp | 2 +- platform/default/online_file_source.cpp | 2 +- platform/default/png_reader.cpp | 2 +- platform/default/sqlite3.cpp | 2 +- platform/default/string_stdlib.cpp | 2 +- platform/default/thread.cpp | 4 +- platform/default/webp_reader.cpp | 2 +- platform/glfw/glfw_view.cpp | 4 +- platform/glfw/main.cpp | 4 +- platform/ios/config.cmake | 2 +- platform/ios/src/MGLMapView.mm | 4 +- platform/linux/config.cmake | 2 +- platform/linux/src/headless_backend_egl.cpp | 2 +- platform/linux/src/headless_backend_glx.cpp | 2 +- platform/linux/src/headless_display_egl.cpp | 2 +- platform/macos/config.cmake | 2 +- platform/node/src/node_log.cpp | 63 ----------------- platform/node/src/node_log.hpp | 32 --------- platform/node/src/node_logging.cpp | 63 +++++++++++++++++ platform/node/src/node_logging.hpp | 32 +++++++++ platform/node/src/node_mapbox_gl_native.cpp | 2 +- platform/qt/qt.cmake | 2 +- platform/qt/src/http_file_source.cpp | 2 +- platform/qt/src/run_loop_impl.hpp | 2 +- platform/qt/src/string_stdlib.cpp | 2 +- src/mbgl/algorithm/generate_clip_ids_impl.hpp | 2 +- src/mbgl/geometry/line_atlas.cpp | 4 +- src/mbgl/gl/context.cpp | 2 +- src/mbgl/gl/debugging.cpp | 4 +- src/mbgl/layout/symbol_layout.cpp | 4 +- src/mbgl/map/map.cpp | 2 +- src/mbgl/map/transform.cpp | 4 +- src/mbgl/platform/event.cpp | 34 --------- src/mbgl/platform/log.cpp | 67 ------------------ src/mbgl/renderer/fill_bucket.cpp | 2 +- src/mbgl/renderer/frame_history.hpp | 2 +- src/mbgl/renderer/painter.cpp | 2 +- src/mbgl/sprite/sprite_atlas.cpp | 4 +- src/mbgl/sprite/sprite_parser.cpp | 2 +- src/mbgl/style/parser.cpp | 2 +- src/mbgl/style/property_parsing.hpp | 2 +- src/mbgl/style/source_impl.cpp | 2 +- src/mbgl/style/sources/geojson_source_impl.cpp | 2 +- src/mbgl/style/style.cpp | 2 +- src/mbgl/text/glyph_atlas.cpp | 4 +- src/mbgl/text/glyph_set.cpp | 2 +- src/mbgl/tile/geometry_tile_worker.cpp | 2 +- src/mbgl/tile/tile.cpp | 2 +- src/mbgl/util/event.cpp | 34 +++++++++ src/mbgl/util/logging.cpp | 67 ++++++++++++++++++ src/mbgl/util/mapbox.cpp | 2 +- src/mbgl/util/stopwatch.cpp | 2 +- src/mbgl/util/stopwatch.hpp | 2 +- src/mbgl/util/thread.hpp | 2 +- test/src/mbgl/test/fixture_log_observer.hpp | 2 +- test/src/mbgl/test/util.cpp | 2 +- test/storage/asset_file_source.test.cpp | 2 +- test/storage/local_file_source.test.cpp | 2 +- test/style/conversion/geojson_options.test.cpp | 2 +- test/style/source.test.cpp | 2 +- test/text/glyph_atlas.test.cpp | 2 +- test/util/http_timeout.test.cpp | 2 +- test/util/mapbox.test.cpp | 2 +- test/util/text_conversions.test.cpp | 2 +- 97 files changed, 522 insertions(+), 524 deletions(-) delete mode 100644 include/mbgl/platform/event.hpp delete mode 100644 include/mbgl/platform/log.hpp delete mode 100644 include/mbgl/platform/platform.hpp create mode 100644 include/mbgl/util/event.hpp create mode 100644 include/mbgl/util/logging.hpp create mode 100644 include/mbgl/util/platform.hpp delete mode 100644 platform/android/src/log_android.cpp create mode 100644 platform/android/src/logging_android.cpp delete mode 100644 platform/darwin/src/log_nslog.mm create mode 100644 platform/darwin/src/logging_nslog.mm delete mode 100644 platform/default/log_stderr.cpp create mode 100644 platform/default/logging_stderr.cpp delete mode 100644 platform/node/src/node_log.cpp delete mode 100644 platform/node/src/node_log.hpp create mode 100644 platform/node/src/node_logging.cpp create mode 100644 platform/node/src/node_logging.hpp delete mode 100644 src/mbgl/platform/event.cpp delete mode 100644 src/mbgl/platform/log.cpp create mode 100644 src/mbgl/util/event.cpp create mode 100644 src/mbgl/util/logging.cpp diff --git a/cmake/core-files.cmake b/cmake/core-files.cmake index 4c50911b81..6343b5efc5 100644 --- a/cmake/core-files.cmake +++ b/cmake/core-files.cmake @@ -130,13 +130,6 @@ set(MBGL_CORE_FILES src/parsedate/parsedate.c src/parsedate/parsedate.h - # platform - include/mbgl/platform/event.hpp - include/mbgl/platform/log.hpp - include/mbgl/platform/platform.hpp - src/mbgl/platform/event.cpp - src/mbgl/platform/log.cpp - # programs src/mbgl/programs/attributes.hpp src/mbgl/programs/circle_program.cpp @@ -386,6 +379,7 @@ set(MBGL_CORE_FILES include/mbgl/util/constants.hpp include/mbgl/util/convert.hpp include/mbgl/util/enum.hpp + include/mbgl/util/event.hpp include/mbgl/util/exception.hpp include/mbgl/util/feature.hpp include/mbgl/util/font_stack.hpp @@ -393,8 +387,10 @@ set(MBGL_CORE_FILES include/mbgl/util/geojson.hpp include/mbgl/util/geometry.hpp include/mbgl/util/image.hpp + include/mbgl/util/logging.hpp include/mbgl/util/noncopyable.hpp include/mbgl/util/optional.hpp + include/mbgl/util/platform.hpp include/mbgl/util/projection.hpp include/mbgl/util/range.hpp include/mbgl/util/run_loop.hpp @@ -419,6 +415,7 @@ set(MBGL_CORE_FILES src/mbgl/util/convert.cpp src/mbgl/util/dtoa.cpp src/mbgl/util/dtoa.hpp + src/mbgl/util/event.cpp src/mbgl/util/exclusive.hpp src/mbgl/util/font_stack.cpp src/mbgl/util/geo.cpp @@ -438,6 +435,7 @@ set(MBGL_CORE_FILES src/mbgl/util/intersection_tests.hpp src/mbgl/util/io.cpp src/mbgl/util/io.hpp + src/mbgl/util/logging.cpp src/mbgl/util/mapbox.cpp src/mbgl/util/mapbox.hpp src/mbgl/util/mat2.cpp diff --git a/cmake/node.cmake b/cmake/node.cmake index bb3112cc09..ea28e86106 100644 --- a/cmake/node.cmake +++ b/cmake/node.cmake @@ -3,8 +3,8 @@ add_nodejs_module(mbgl-node ) target_sources(mbgl-node - PRIVATE platform/node/src/node_log.hpp - PRIVATE platform/node/src/node_log.cpp + PRIVATE platform/node/src/node_logging.hpp + PRIVATE platform/node/src/node_logging.cpp PRIVATE platform/node/src/node_map.hpp PRIVATE platform/node/src/node_map.cpp PRIVATE platform/node/src/node_request.hpp diff --git a/include/mbgl/platform/event.hpp b/include/mbgl/platform/event.hpp deleted file mode 100644 index 7ad3d914e8..0000000000 --- a/include/mbgl/platform/event.hpp +++ /dev/null @@ -1,58 +0,0 @@ -#pragma once - -#include - -namespace mbgl { - -enum class EventSeverity : uint8_t { - Debug, - Info, - Warning, - Error, -}; - -enum class Event : uint8_t { - General, - Setup, - Shader, - ParseStyle, - ParseTile, - Render, - Style, - Database, - HttpRequest, - Sprite, - Image, - OpenGL, - JNI, - Android, - Crash, - Glyph, -}; - -struct EventPermutation { - const EventSeverity severity; - const Event event; - - constexpr bool operator==(const EventPermutation &rhs) const { - return severity == rhs.severity && event == rhs.event; - } -}; - -constexpr EventSeverity disabledEventSeverities[] = { -#ifdef NDEBUG - EventSeverity(-1) // Avoid zero size array -#else - EventSeverity::Debug -#endif -}; - -constexpr Event disabledEvents[] = { - Event(-1) // Avoid zero size array -}; - -constexpr EventPermutation disabledEventPermutations[] = { - { EventSeverity::Debug, Event::Shader } -}; - -} // namespace mbgl diff --git a/include/mbgl/platform/log.hpp b/include/mbgl/platform/log.hpp deleted file mode 100644 index d5bb1c2fcc..0000000000 --- a/include/mbgl/platform/log.hpp +++ /dev/null @@ -1,80 +0,0 @@ -#pragma once - -#include - -#include - -#include -#include - -namespace mbgl { - -class Log { -public: - class Observer : private util::noncopyable { - public: - virtual ~Observer() = default; - - // When an observer is set, this function will be called for every log - // message. Returning true will consume the message. - virtual bool onRecord(EventSeverity severity, Event event, int64_t code, const std::string &msg) = 0; - }; - - class NullObserver : public Observer { - bool onRecord(EventSeverity, Event, int64_t, const std::string&) override { - return true; - } - }; - - static void setObserver(std::unique_ptr Observer); - static std::unique_ptr removeObserver(); - -private: - template - constexpr static bool includes(const T e, const T (&l)[N], const size_t i = 0) { - return i < N && (l[i] == e || includes(e, l, i + 1)); - } - -public: - template - static void Debug(Event event, Args&& ...args) { - Record(EventSeverity::Debug, event, ::std::forward(args)...); - } - - template - static void Info(Event event, Args&& ...args) { - Record(EventSeverity::Info, event, ::std::forward(args)...); - } - - template - static void Warning(Event event, Args&& ...args) { - Record(EventSeverity::Warning, event, ::std::forward(args)...); - } - - template - static void Error(Event event, Args&& ...args) { - Record(EventSeverity::Error, event, ::std::forward(args)...); - } - - template - static void Record(EventSeverity severity, Event event, Args&& ...args) { - if (!includes(severity, disabledEventSeverities) && - !includes(event, disabledEvents) && - !includes({ severity, event }, disabledEventPermutations)) { - record(severity, event, ::std::forward(args)...); - } - } - -private: - static void record(EventSeverity severity, Event event, const std::string &msg); - static void record(EventSeverity severity, Event event, const char* format, ...); - static void record(EventSeverity severity, Event event, int64_t code); - static void record(EventSeverity severity, Event event, int64_t code, const std::string &msg); - - // 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, const std::string &msg); -}; - -} // namespace mbgl diff --git a/include/mbgl/platform/platform.hpp b/include/mbgl/platform/platform.hpp deleted file mode 100644 index cc8327c470..0000000000 --- a/include/mbgl/platform/platform.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include -#include - -namespace mbgl { -namespace platform { - -class Request; - -// Uppercase a string, potentially using platform-specific routines. -std::string uppercase(const std::string &string); - -// Lowercase a string, potentially using platform-specific routines. -std::string lowercase(const std::string &string); - -// Gets the name of the current thread. -std::string getCurrentThreadName(); - -// Set the name of the current thread, truncated at 15. -void setCurrentThreadName(const std::string& name); - -// Makes the current thread low priority. -void makeThreadLowPriority(); - -// Shows an alpha image with the specified dimensions in a named window. -void showDebugImage(std::string name, const char *data, size_t width, size_t height); - -// Shows an alpha image with the specified dimensions in a named window. -void showColorDebugImage(std::string name, const char *data, size_t logical_width, size_t logical_height, size_t width, size_t height); -} // namespace platform -} // namespace mbgl diff --git a/include/mbgl/util/event.hpp b/include/mbgl/util/event.hpp new file mode 100644 index 0000000000..7ad3d914e8 --- /dev/null +++ b/include/mbgl/util/event.hpp @@ -0,0 +1,58 @@ +#pragma once + +#include + +namespace mbgl { + +enum class EventSeverity : uint8_t { + Debug, + Info, + Warning, + Error, +}; + +enum class Event : uint8_t { + General, + Setup, + Shader, + ParseStyle, + ParseTile, + Render, + Style, + Database, + HttpRequest, + Sprite, + Image, + OpenGL, + JNI, + Android, + Crash, + Glyph, +}; + +struct EventPermutation { + const EventSeverity severity; + const Event event; + + constexpr bool operator==(const EventPermutation &rhs) const { + return severity == rhs.severity && event == rhs.event; + } +}; + +constexpr EventSeverity disabledEventSeverities[] = { +#ifdef NDEBUG + EventSeverity(-1) // Avoid zero size array +#else + EventSeverity::Debug +#endif +}; + +constexpr Event disabledEvents[] = { + Event(-1) // Avoid zero size array +}; + +constexpr EventPermutation disabledEventPermutations[] = { + { EventSeverity::Debug, Event::Shader } +}; + +} // namespace mbgl diff --git a/include/mbgl/util/logging.hpp b/include/mbgl/util/logging.hpp new file mode 100644 index 0000000000..d072673e76 --- /dev/null +++ b/include/mbgl/util/logging.hpp @@ -0,0 +1,80 @@ +#pragma once + +#include + +#include + +#include +#include + +namespace mbgl { + +class Log { +public: + class Observer : private util::noncopyable { + public: + virtual ~Observer() = default; + + // When an observer is set, this function will be called for every log + // message. Returning true will consume the message. + virtual bool onRecord(EventSeverity severity, Event event, int64_t code, const std::string &msg) = 0; + }; + + class NullObserver : public Observer { + bool onRecord(EventSeverity, Event, int64_t, const std::string&) override { + return true; + } + }; + + static void setObserver(std::unique_ptr Observer); + static std::unique_ptr removeObserver(); + +private: + template + constexpr static bool includes(const T e, const T (&l)[N], const size_t i = 0) { + return i < N && (l[i] == e || includes(e, l, i + 1)); + } + +public: + template + static void Debug(Event event, Args&& ...args) { + Record(EventSeverity::Debug, event, ::std::forward(args)...); + } + + template + static void Info(Event event, Args&& ...args) { + Record(EventSeverity::Info, event, ::std::forward(args)...); + } + + template + static void Warning(Event event, Args&& ...args) { + Record(EventSeverity::Warning, event, ::std::forward(args)...); + } + + template + static void Error(Event event, Args&& ...args) { + Record(EventSeverity::Error, event, ::std::forward(args)...); + } + + template + static void Record(EventSeverity severity, Event event, Args&& ...args) { + if (!includes(severity, disabledEventSeverities) && + !includes(event, disabledEvents) && + !includes({ severity, event }, disabledEventPermutations)) { + record(severity, event, ::std::forward(args)...); + } + } + +private: + static void record(EventSeverity severity, Event event, const std::string &msg); + static void record(EventSeverity severity, Event event, const char* format, ...); + static void record(EventSeverity severity, Event event, int64_t code); + static void record(EventSeverity severity, Event event, int64_t code, const std::string &msg); + + // 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, const std::string &msg); +}; + +} // namespace mbgl diff --git a/include/mbgl/util/platform.hpp b/include/mbgl/util/platform.hpp new file mode 100644 index 0000000000..cc8327c470 --- /dev/null +++ b/include/mbgl/util/platform.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include +#include + +namespace mbgl { +namespace platform { + +class Request; + +// Uppercase a string, potentially using platform-specific routines. +std::string uppercase(const std::string &string); + +// Lowercase a string, potentially using platform-specific routines. +std::string lowercase(const std::string &string); + +// Gets the name of the current thread. +std::string getCurrentThreadName(); + +// Set the name of the current thread, truncated at 15. +void setCurrentThreadName(const std::string& name); + +// Makes the current thread low priority. +void makeThreadLowPriority(); + +// Shows an alpha image with the specified dimensions in a named window. +void showDebugImage(std::string name, const char *data, size_t width, size_t height); + +// Shows an alpha image with the specified dimensions in a named window. +void showColorDebugImage(std::string name, const char *data, size_t logical_width, size_t logical_height, size_t width, size_t height); +} // namespace platform +} // namespace mbgl diff --git a/platform/android/config.cmake b/platform/android/config.cmake index 5e37d13e60..9156054de0 100644 --- a/platform/android/config.cmake +++ b/platform/android/config.cmake @@ -44,7 +44,7 @@ macro(mbgl_platform_core) PRIVATE platform/default/sqlite3.hpp # Misc - PRIVATE platform/android/src/log_android.cpp + PRIVATE platform/android/src/logging_android.cpp PRIVATE platform/default/string_stdlib.cpp # Image handling diff --git a/platform/android/src/connectivity_listener.cpp b/platform/android/src/connectivity_listener.cpp index df5c60a485..cc2f0a4a81 100644 --- a/platform/android/src/connectivity_listener.cpp +++ b/platform/android/src/connectivity_listener.cpp @@ -1,7 +1,7 @@ #include "connectivity_listener.hpp" #include -#include +#include #include diff --git a/platform/android/src/example_custom_layer.cpp b/platform/android/src/example_custom_layer.cpp index 0fb0287f3d..c55c9c3527 100644 --- a/platform/android/src/example_custom_layer.cpp +++ b/platform/android/src/example_custom_layer.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include diff --git a/platform/android/src/geometry/conversion/feature.hpp b/platform/android/src/geometry/conversion/feature.hpp index 9f75b9c8f1..f0c77c3389 100644 --- a/platform/android/src/geometry/conversion/feature.hpp +++ b/platform/android/src/geometry/conversion/feature.hpp @@ -16,7 +16,7 @@ #include #include -#include +#include namespace mbgl { namespace android { diff --git a/platform/android/src/http_file_source.cpp b/platform/android/src/http_file_source.cpp index ed4d81391f..ee1429bd74 100644 --- a/platform/android/src/http_file_source.cpp +++ b/platform/android/src/http_file_source.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index c7f53d028b..0c740d7fdd 100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -25,8 +25,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/platform/android/src/log_android.cpp b/platform/android/src/log_android.cpp deleted file mode 100644 index e5c8cfd812..0000000000 --- a/platform/android/src/log_android.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include - -#include - -namespace mbgl { - -namespace { - -int severityToPriority(EventSeverity severity) { - switch(severity) { - case EventSeverity::Debug: - return ANDROID_LOG_DEBUG; - - case EventSeverity::Info: - return ANDROID_LOG_INFO; - - case EventSeverity::Warning: - return ANDROID_LOG_WARN; - - case EventSeverity::Error: - return ANDROID_LOG_ERROR; - - default: - return ANDROID_LOG_VERBOSE; - } -} - -} // namespace - -void Log::platformRecord(EventSeverity severity, const std::string &msg) { - __android_log_print(severityToPriority(severity), "mbgl", "%s", msg.c_str()); -} - -} diff --git a/platform/android/src/logging_android.cpp b/platform/android/src/logging_android.cpp new file mode 100644 index 0000000000..2e025c059f --- /dev/null +++ b/platform/android/src/logging_android.cpp @@ -0,0 +1,34 @@ +#include + +#include + +namespace mbgl { + +namespace { + +int severityToPriority(EventSeverity severity) { + switch(severity) { + case EventSeverity::Debug: + return ANDROID_LOG_DEBUG; + + case EventSeverity::Info: + return ANDROID_LOG_INFO; + + case EventSeverity::Warning: + return ANDROID_LOG_WARN; + + case EventSeverity::Error: + return ANDROID_LOG_ERROR; + + default: + return ANDROID_LOG_VERBOSE; + } +} + +} // namespace + +void Log::platformRecord(EventSeverity severity, const std::string &msg) { + __android_log_print(severityToPriority(severity), "mbgl", "%s", msg.c_str()); +} + +} diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index 984fe9d382..83f351b7b3 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -10,9 +10,9 @@ #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/platform/android/src/run_loop.cpp b/platform/android/src/run_loop.cpp index 1e5fc9b4ba..170b05c23c 100644 --- a/platform/android/src/run_loop.cpp +++ b/platform/android/src/run_loop.cpp @@ -1,6 +1,6 @@ #include "run_loop_impl.hpp" -#include +#include #include #include #include diff --git a/platform/android/src/style/android_conversion.hpp b/platform/android/src/style/android_conversion.hpp index cea7ce6d2a..de0ac91502 100644 --- a/platform/android/src/style/android_conversion.hpp +++ b/platform/android/src/style/android_conversion.hpp @@ -2,7 +2,7 @@ #include "value.hpp" -#include +#include #include #include #include diff --git a/platform/android/src/style/conversion/geojson.hpp b/platform/android/src/style/conversion/geojson.hpp index 920c670fcb..6bc48b3700 100644 --- a/platform/android/src/style/conversion/geojson.hpp +++ b/platform/android/src/style/conversion/geojson.hpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include diff --git a/platform/android/src/style/layers/custom_layer.cpp b/platform/android/src/style/layers/custom_layer.cpp index 6568455c67..d5d330a019 100644 --- a/platform/android/src/style/layers/custom_layer.cpp +++ b/platform/android/src/style/layers/custom_layer.cpp @@ -2,7 +2,7 @@ #include -#include +#include namespace mbgl { namespace android { diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index 00a52147b8..c0c57c839d 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -3,7 +3,7 @@ #include -#include +#include //Java -> C++ conversion #include diff --git a/platform/android/src/style/sources/source.cpp b/platform/android/src/style/sources/source.cpp index 36023d2ff7..aca7bd6a84 100644 --- a/platform/android/src/style/sources/source.cpp +++ b/platform/android/src/style/sources/source.cpp @@ -3,7 +3,7 @@ #include -#include +#include //Java -> C++ conversion #include diff --git a/platform/android/src/thread.cpp b/platform/android/src/thread.cpp index 77f9815866..c708dfdceb 100644 --- a/platform/android/src/thread.cpp +++ b/platform/android/src/thread.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include #include diff --git a/platform/darwin/src/log_nslog.mm b/platform/darwin/src/log_nslog.mm deleted file mode 100644 index 49583ae3c4..0000000000 --- a/platform/darwin/src/log_nslog.mm +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include - -#import - -namespace mbgl { - -void Log::platformRecord(EventSeverity severity, const std::string &msg) { - NSString *message = - [[NSString alloc] initWithBytes:msg.data() length:msg.size() encoding:NSUTF8StringEncoding]; - NSLog(@"[%s] %@", Enum::toString(severity), message); -} - -} diff --git a/platform/darwin/src/logging_nslog.mm b/platform/darwin/src/logging_nslog.mm new file mode 100644 index 0000000000..dd428f56b1 --- /dev/null +++ b/platform/darwin/src/logging_nslog.mm @@ -0,0 +1,14 @@ +#include +#include + +#import + +namespace mbgl { + +void Log::platformRecord(EventSeverity severity, const std::string &msg) { + NSString *message = + [[NSString alloc] initWithBytes:msg.data() length:msg.size() encoding:NSUTF8StringEncoding]; + NSLog(@"[%s] %@", Enum::toString(severity), message); +} + +} diff --git a/platform/darwin/src/nsthread.mm b/platform/darwin/src/nsthread.mm index eee6d6991b..6caa1be43e 100644 --- a/platform/darwin/src/nsthread.mm +++ b/platform/darwin/src/nsthread.mm @@ -1,6 +1,6 @@ #import -#include +#include #include diff --git a/platform/darwin/src/string_nsstring.mm b/platform/darwin/src/string_nsstring.mm index 9bf199afc0..08f9aeccef 100644 --- a/platform/darwin/src/string_nsstring.mm +++ b/platform/darwin/src/string_nsstring.mm @@ -1,6 +1,6 @@ #import -#include +#include namespace mbgl { namespace platform { diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp index 7b52637c15..c4222b5a12 100644 --- a/platform/default/default_file_source.cpp +++ b/platform/default/default_file_source.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/platform/default/headless_backend_osmesa.cpp b/platform/default/headless_backend_osmesa.cpp index 3dac5913ac..081bddf170 100644 --- a/platform/default/headless_backend_osmesa.cpp +++ b/platform/default/headless_backend_osmesa.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include diff --git a/platform/default/http_file_source.cpp b/platform/default/http_file_source.cpp index ce6987fbdd..867d85fa4d 100644 --- a/platform/default/http_file_source.cpp +++ b/platform/default/http_file_source.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include diff --git a/platform/default/log_stderr.cpp b/platform/default/log_stderr.cpp deleted file mode 100644 index 145cdeda03..0000000000 --- a/platform/default/log_stderr.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include - -#include - -namespace mbgl { - -void Log::platformRecord(EventSeverity severity, const std::string &msg) { - std::cerr << "[" << Enum::toString(severity) << "] " << msg << std::endl; -} - -} // namespace mbgl diff --git a/platform/default/logging_stderr.cpp b/platform/default/logging_stderr.cpp new file mode 100644 index 0000000000..41585fb7bb --- /dev/null +++ b/platform/default/logging_stderr.cpp @@ -0,0 +1,12 @@ +#include +#include + +#include + +namespace mbgl { + +void Log::platformRecord(EventSeverity severity, const std::string &msg) { + std::cerr << "[" << Enum::toString(severity) << "] " << msg << std::endl; +} + +} // namespace mbgl diff --git a/platform/default/mbgl/storage/offline_database.cpp b/platform/default/mbgl/storage/offline_database.cpp index 4bcc9ad711..73364b042f 100644 --- a/platform/default/mbgl/storage/offline_database.cpp +++ b/platform/default/mbgl/storage/offline_database.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include "sqlite3.hpp" #include diff --git a/platform/default/online_file_source.cpp b/platform/default/online_file_source.cpp index 4f191f6cf7..0f2bc5ff56 100644 --- a/platform/default/online_file_source.cpp +++ b/platform/default/online_file_source.cpp @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include diff --git a/platform/default/png_reader.cpp b/platform/default/png_reader.cpp index 7c10f20667..5ae74d74db 100644 --- a/platform/default/png_reader.cpp +++ b/platform/default/png_reader.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include diff --git a/platform/default/sqlite3.cpp b/platform/default/sqlite3.cpp index 578e407739..670b7b84cc 100644 --- a/platform/default/sqlite3.cpp +++ b/platform/default/sqlite3.cpp @@ -7,7 +7,7 @@ #include #include -#include +#include namespace mapbox { namespace sqlite { diff --git a/platform/default/string_stdlib.cpp b/platform/default/string_stdlib.cpp index 0e97fc54d5..2642e88aff 100644 --- a/platform/default/string_stdlib.cpp +++ b/platform/default/string_stdlib.cpp @@ -1,4 +1,4 @@ -#include +#include #define NU_WITH_TOUPPER #define NU_WITH_TOLOWER #define NU_WITH_UTF8_WRITER diff --git a/platform/default/thread.cpp b/platform/default/thread.cpp index f4d0b9a855..c7c79b4fb0 100644 --- a/platform/default/thread.cpp +++ b/platform/default/thread.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include diff --git a/platform/default/webp_reader.cpp b/platform/default/webp_reader.cpp index a56632157f..2c01fb4479 100644 --- a/platform/default/webp_reader.cpp +++ b/platform/default/webp_reader.cpp @@ -1,6 +1,6 @@ #include #include -#include +#include extern "C" { diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp index ecc5e73da1..fdf82fda8f 100644 --- a/platform/glfw/glfw_view.cpp +++ b/platform/glfw/glfw_view.cpp @@ -6,8 +6,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/platform/glfw/main.cpp b/platform/glfw/main.cpp index e3c36dfbb8..1f683b185f 100644 --- a/platform/glfw/main.cpp +++ b/platform/glfw/main.cpp @@ -2,8 +2,8 @@ #include "settings_json.hpp" #include -#include -#include +#include +#include #include #include diff --git a/platform/ios/config.cmake b/platform/ios/config.cmake index 565cfc8a13..f9a24964f6 100644 --- a/platform/ios/config.cmake +++ b/platform/ios/config.cmake @@ -34,7 +34,7 @@ macro(mbgl_platform_core) # Misc PRIVATE platform/darwin/mbgl/storage/reachability.h PRIVATE platform/darwin/mbgl/storage/reachability.m - PRIVATE platform/darwin/src/log_nslog.mm + PRIVATE platform/darwin/src/logging_nslog.mm PRIVATE platform/darwin/src/nsthread.mm PRIVATE platform/darwin/src/string_nsstring.mm diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm index be4e25b46e..98a1f768f7 100644 --- a/platform/ios/src/MGLMapView.mm +++ b/platform/ios/src/MGLMapView.mm @@ -1,6 +1,6 @@ #import "MGLMapView_Private.h" -#include +#include #include #include @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/platform/linux/config.cmake b/platform/linux/config.cmake index 20679f53e9..1d440645b5 100644 --- a/platform/linux/config.cmake +++ b/platform/linux/config.cmake @@ -67,7 +67,7 @@ macro(mbgl_platform_core) PRIVATE platform/default/sqlite3.hpp # Misc - PRIVATE platform/default/log_stderr.cpp + PRIVATE platform/default/logging_stderr.cpp PRIVATE platform/default/string_stdlib.cpp PRIVATE platform/default/thread.cpp diff --git a/platform/linux/src/headless_backend_egl.cpp b/platform/linux/src/headless_backend_egl.cpp index 6288cf3805..38bd3e0a20 100644 --- a/platform/linux/src/headless_backend_egl.cpp +++ b/platform/linux/src/headless_backend_egl.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include diff --git a/platform/linux/src/headless_backend_glx.cpp b/platform/linux/src/headless_backend_glx.cpp index 79e3fe1390..5791f1892f 100644 --- a/platform/linux/src/headless_backend_glx.cpp +++ b/platform/linux/src/headless_backend_glx.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include diff --git a/platform/linux/src/headless_display_egl.cpp b/platform/linux/src/headless_display_egl.cpp index 95c2ebb6a6..e1ba0aef13 100644 --- a/platform/linux/src/headless_display_egl.cpp +++ b/platform/linux/src/headless_display_egl.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include diff --git a/platform/macos/config.cmake b/platform/macos/config.cmake index 6c518becf2..f602f79d62 100644 --- a/platform/macos/config.cmake +++ b/platform/macos/config.cmake @@ -34,7 +34,7 @@ macro(mbgl_platform_core) # Misc PRIVATE platform/darwin/mbgl/storage/reachability.h PRIVATE platform/darwin/mbgl/storage/reachability.m - PRIVATE platform/darwin/src/log_nslog.mm + PRIVATE platform/darwin/src/logging_nslog.mm PRIVATE platform/darwin/src/nsthread.mm PRIVATE platform/darwin/src/string_nsstring.mm diff --git a/platform/node/src/node_log.cpp b/platform/node/src/node_log.cpp deleted file mode 100644 index 0a97ebce36..0000000000 --- a/platform/node/src/node_log.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "node_log.hpp" - -#include - -namespace node_mbgl { - -struct NodeLogObserver::LogMessage { - mbgl::EventSeverity severity; - mbgl::Event event; - int64_t code; - std::string text; - - LogMessage(mbgl::EventSeverity severity_, mbgl::Event event_, int64_t code_, std::string text_) - : severity(severity_), - event(event_), - code(code_), - text(std::move(text_)) {} -}; - -NodeLogObserver::NodeLogObserver(v8::Local target) - : queue(new util::AsyncQueue(uv_default_loop(), [this](LogMessage &message) { - Nan::HandleScope scope; - - auto msg = Nan::New(); - - Nan::Set(msg, Nan::New("class").ToLocalChecked(), - Nan::New(mbgl::Enum::toString(message.event)).ToLocalChecked()); - - Nan::Set(msg, Nan::New("severity").ToLocalChecked(), - Nan::New(mbgl::Enum::toString(message.severity)).ToLocalChecked()); - - if (message.code != -1) { - Nan::Set(msg, Nan::New("code").ToLocalChecked(), - Nan::New(message.code)); - } - - if (!message.text.empty()) { - Nan::Set(msg, Nan::New("text").ToLocalChecked(), - Nan::New(message.text).ToLocalChecked()); - } - - v8::Local argv[] = { Nan::New("message").ToLocalChecked(), msg }; - auto handle = Nan::New(module); - auto emit = Nan::To(Nan::Get(handle, Nan::New("emit").ToLocalChecked()).ToLocalChecked()).ToLocalChecked(); - Nan::CallAsFunction(emit, handle, 2, argv); - })) { - Nan::HandleScope scope; - module.Reset(target); - - // Don't keep the event loop alive. - queue->unref(); -} - -NodeLogObserver::~NodeLogObserver() { - queue->stop(); -} - -bool NodeLogObserver::onRecord(mbgl::EventSeverity severity, mbgl::Event event, int64_t code, const std::string &text) { - queue->send({ severity, event, code, text }); - return true; -} - -} // namespace node_mbgl diff --git a/platform/node/src/node_log.hpp b/platform/node/src/node_log.hpp deleted file mode 100644 index a19c61284b..0000000000 --- a/platform/node/src/node_log.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "util/async_queue.hpp" - -#include - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-parameter" -#pragma GCC diagnostic ignored "-Wshadow" -#include -#pragma GCC diagnostic pop - -namespace node_mbgl { - -namespace util { template class AsyncQueue; } - -class NodeLogObserver : public mbgl::Log::Observer { -public: - NodeLogObserver(v8::Local target); - ~NodeLogObserver(); - - // Log::Observer implementation - virtual bool onRecord(mbgl::EventSeverity severity, mbgl::Event event, int64_t code, const std::string &msg) override; - -private: - Nan::Persistent module; - - struct LogMessage; - util::AsyncQueue* queue; -}; - -} diff --git a/platform/node/src/node_logging.cpp b/platform/node/src/node_logging.cpp new file mode 100644 index 0000000000..5e7326e90a --- /dev/null +++ b/platform/node/src/node_logging.cpp @@ -0,0 +1,63 @@ +#include "node_logging.hpp" + +#include + +namespace node_mbgl { + +struct NodeLogObserver::LogMessage { + mbgl::EventSeverity severity; + mbgl::Event event; + int64_t code; + std::string text; + + LogMessage(mbgl::EventSeverity severity_, mbgl::Event event_, int64_t code_, std::string text_) + : severity(severity_), + event(event_), + code(code_), + text(std::move(text_)) {} +}; + +NodeLogObserver::NodeLogObserver(v8::Local target) + : queue(new util::AsyncQueue(uv_default_loop(), [this](LogMessage &message) { + Nan::HandleScope scope; + + auto msg = Nan::New(); + + Nan::Set(msg, Nan::New("class").ToLocalChecked(), + Nan::New(mbgl::Enum::toString(message.event)).ToLocalChecked()); + + Nan::Set(msg, Nan::New("severity").ToLocalChecked(), + Nan::New(mbgl::Enum::toString(message.severity)).ToLocalChecked()); + + if (message.code != -1) { + Nan::Set(msg, Nan::New("code").ToLocalChecked(), + Nan::New(message.code)); + } + + if (!message.text.empty()) { + Nan::Set(msg, Nan::New("text").ToLocalChecked(), + Nan::New(message.text).ToLocalChecked()); + } + + v8::Local argv[] = { Nan::New("message").ToLocalChecked(), msg }; + auto handle = Nan::New(module); + auto emit = Nan::To(Nan::Get(handle, Nan::New("emit").ToLocalChecked()).ToLocalChecked()).ToLocalChecked(); + Nan::CallAsFunction(emit, handle, 2, argv); + })) { + Nan::HandleScope scope; + module.Reset(target); + + // Don't keep the event loop alive. + queue->unref(); +} + +NodeLogObserver::~NodeLogObserver() { + queue->stop(); +} + +bool NodeLogObserver::onRecord(mbgl::EventSeverity severity, mbgl::Event event, int64_t code, const std::string &text) { + queue->send({ severity, event, code, text }); + return true; +} + +} // namespace node_mbgl diff --git a/platform/node/src/node_logging.hpp b/platform/node/src/node_logging.hpp new file mode 100644 index 0000000000..a12603ba6e --- /dev/null +++ b/platform/node/src/node_logging.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include "util/async_queue.hpp" + +#include + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wshadow" +#include +#pragma GCC diagnostic pop + +namespace node_mbgl { + +namespace util { template class AsyncQueue; } + +class NodeLogObserver : public mbgl::Log::Observer { +public: + NodeLogObserver(v8::Local target); + ~NodeLogObserver(); + + // Log::Observer implementation + virtual bool onRecord(mbgl::EventSeverity severity, mbgl::Event event, int64_t code, const std::string &msg) override; + +private: + Nan::Persistent module; + + struct LogMessage; + util::AsyncQueue* queue; +}; + +} diff --git a/platform/node/src/node_mapbox_gl_native.cpp b/platform/node/src/node_mapbox_gl_native.cpp index 042def9fdd..cdcc982220 100644 --- a/platform/node/src/node_mapbox_gl_native.cpp +++ b/platform/node/src/node_mapbox_gl_native.cpp @@ -8,7 +8,7 @@ #include #include "node_map.hpp" -#include "node_log.hpp" +#include "node_logging.hpp" #include "node_request.hpp" void RegisterModule(v8::Local target, v8::Local module) { diff --git a/platform/qt/qt.cmake b/platform/qt/qt.cmake index cb284afcf3..3efdf6cad8 100644 --- a/platform/qt/qt.cmake +++ b/platform/qt/qt.cmake @@ -28,7 +28,7 @@ set(MBGL_QT_FILES PRIVATE platform/default/sqlite3.hpp # Misc - PRIVATE platform/default/log_stderr.cpp + PRIVATE platform/default/logging_stderr.cpp # Thread pool PRIVATE platform/default/mbgl/util/default_thread_pool.cpp diff --git a/platform/qt/src/http_file_source.cpp b/platform/qt/src/http_file_source.cpp index 61fa1ca612..9bf2cc5fac 100644 --- a/platform/qt/src/http_file_source.cpp +++ b/platform/qt/src/http_file_source.cpp @@ -1,7 +1,7 @@ #include "http_file_source.hpp" #include "http_request.hpp" -#include +#include #include #include diff --git a/platform/qt/src/run_loop_impl.hpp b/platform/qt/src/run_loop_impl.hpp index ea64e4b977..c1fe8578e3 100644 --- a/platform/qt/src/run_loop_impl.hpp +++ b/platform/qt/src/run_loop_impl.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include diff --git a/platform/qt/src/string_stdlib.cpp b/platform/qt/src/string_stdlib.cpp index c4adecea06..635a01352e 100644 --- a/platform/qt/src/string_stdlib.cpp +++ b/platform/qt/src/string_stdlib.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include diff --git a/src/mbgl/algorithm/generate_clip_ids_impl.hpp b/src/mbgl/algorithm/generate_clip_ids_impl.hpp index 9b550fcbba..59ca66bf66 100644 --- a/src/mbgl/algorithm/generate_clip_ids_impl.hpp +++ b/src/mbgl/algorithm/generate_clip_ids_impl.hpp @@ -2,7 +2,7 @@ #include #include -#include +#include namespace mbgl { namespace algorithm { diff --git a/src/mbgl/geometry/line_atlas.cpp b/src/mbgl/geometry/line_atlas.cpp index 1dfa42fc2c..71a855b943 100644 --- a/src/mbgl/geometry/line_atlas.cpp +++ b/src/mbgl/geometry/line_atlas.cpp @@ -1,7 +1,7 @@ #include #include -#include -#include +#include +#include #include diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp index 41e81a186f..4c469d7f67 100644 --- a/src/mbgl/gl/context.cpp +++ b/src/mbgl/gl/context.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include diff --git a/src/mbgl/gl/debugging.cpp b/src/mbgl/gl/debugging.cpp index 1d82b6afb0..8037fc5ef5 100644 --- a/src/mbgl/gl/debugging.cpp +++ b/src/mbgl/gl/debugging.cpp @@ -2,8 +2,8 @@ #include #include #include -#include -#include +#include +#include #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index b18491bf78..41ad6f6452 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -17,8 +17,8 @@ #include #include #include -#include -#include +#include +#include #include diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index eac7b596be..3b8758f987 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include namespace mbgl { diff --git a/src/mbgl/map/transform.cpp b/src/mbgl/map/transform.cpp index 7a3f4edf0e..ba5e205301 100644 --- a/src/mbgl/map/transform.cpp +++ b/src/mbgl/map/transform.cpp @@ -9,8 +9,8 @@ #include #include #include -#include -#include +#include +#include #include #include diff --git a/src/mbgl/platform/event.cpp b/src/mbgl/platform/event.cpp deleted file mode 100644 index 68d75a2941..0000000000 --- a/src/mbgl/platform/event.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include - -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/platform/log.cpp b/src/mbgl/platform/log.cpp deleted file mode 100644 index b140485dd6..0000000000 --- a/src/mbgl/platform/log.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include -#include -#include - -#include -#include -#include - -namespace mbgl { - -namespace { - -static std::unique_ptr currentObserver; - -} // namespace - -void Log::setObserver(std::unique_ptr observer) { - currentObserver = std::move(observer); -} - -std::unique_ptr Log::removeObserver() { - std::unique_ptr 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::toString(event) << "]"; - - if (code >= 0) { - logStream << "(" << code << ")"; - } - - if (!msg.empty()) { - logStream << ": " << msg; - } - - platformRecord(severity, logStream.str()); -} - -} // namespace mbgl diff --git a/src/mbgl/renderer/fill_bucket.cpp b/src/mbgl/renderer/fill_bucket.cpp index 96e44d6903..b89e982057 100644 --- a/src/mbgl/renderer/fill_bucket.cpp +++ b/src/mbgl/renderer/fill_bucket.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include diff --git a/src/mbgl/renderer/frame_history.hpp b/src/mbgl/renderer/frame_history.hpp index dfa2751038..fffbd113ed 100644 --- a/src/mbgl/renderer/frame_history.hpp +++ b/src/mbgl/renderer/frame_history.hpp @@ -2,7 +2,7 @@ #include -#include +#include #include #include #include diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index 2949cee1d9..be160187be 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -7,7 +7,7 @@ #include -#include +#include #include #include diff --git a/src/mbgl/sprite/sprite_atlas.cpp b/src/mbgl/sprite/sprite_atlas.cpp index 24563ff43d..ea055ce5ec 100644 --- a/src/mbgl/sprite/sprite_atlas.cpp +++ b/src/mbgl/sprite/sprite_atlas.cpp @@ -2,8 +2,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/src/mbgl/sprite/sprite_parser.cpp b/src/mbgl/sprite/sprite_parser.cpp index 934dca14a8..9de8515e14 100644 --- a/src/mbgl/sprite/sprite_parser.cpp +++ b/src/mbgl/sprite/sprite_parser.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include #include diff --git a/src/mbgl/style/parser.cpp b/src/mbgl/style/parser.cpp index 059082980d..c6c6e50dd7 100644 --- a/src/mbgl/style/parser.cpp +++ b/src/mbgl/style/parser.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include diff --git a/src/mbgl/style/property_parsing.hpp b/src/mbgl/style/property_parsing.hpp index 8c2bd2c0f4..b542c8ae47 100644 --- a/src/mbgl/style/property_parsing.hpp +++ b/src/mbgl/style/property_parsing.hpp @@ -5,7 +5,7 @@ #include #include -#include +#include namespace mbgl { namespace style { diff --git a/src/mbgl/style/source_impl.cpp b/src/mbgl/style/source_impl.cpp index a1b495627c..18954dbfaa 100644 --- a/src/mbgl/style/source_impl.cpp +++ b/src/mbgl/style/source_impl.cpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/mbgl/style/sources/geojson_source_impl.cpp b/src/mbgl/style/sources/geojson_source_impl.cpp index 4800b9c4be..7f41e0e321 100644 --- a/src/mbgl/style/sources/geojson_source_impl.cpp +++ b/src/mbgl/style/sources/geojson_source_impl.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index 6b80202093..867a03da79 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/mbgl/text/glyph_atlas.cpp b/src/mbgl/text/glyph_atlas.cpp index 57b8b14017..5d30dacdce 100644 --- a/src/mbgl/text/glyph_atlas.cpp +++ b/src/mbgl/text/glyph_atlas.cpp @@ -2,8 +2,8 @@ #include #include #include -#include -#include +#include +#include #include #include diff --git a/src/mbgl/text/glyph_set.cpp b/src/mbgl/text/glyph_set.cpp index 67c2ab93e4..ef556aa537 100644 --- a/src/mbgl/text/glyph_set.cpp +++ b/src/mbgl/text/glyph_set.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include diff --git a/src/mbgl/tile/geometry_tile_worker.cpp b/src/mbgl/tile/geometry_tile_worker.cpp index abb3894d34..738c78572d 100644 --- a/src/mbgl/tile/geometry_tile_worker.cpp +++ b/src/mbgl/tile/geometry_tile_worker.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/mbgl/tile/tile.cpp b/src/mbgl/tile/tile.cpp index 1375263107..e84eaaf780 100644 --- a/src/mbgl/tile/tile.cpp +++ b/src/mbgl/tile/tile.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include namespace mbgl { 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 +#include + +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 +#include +#include + +#include +#include +#include + +namespace mbgl { + +namespace { + +static std::unique_ptr currentObserver; + +} // namespace + +void Log::setObserver(std::unique_ptr observer) { + currentObserver = std::move(observer); +} + +std::unique_ptr Log::removeObserver() { + std::unique_ptr 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::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 #include -#include +#include #include #include 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 #include #include -#include +#include #include #include 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 +#include #include #include 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 #include -#include +#include #include diff --git a/test/src/mbgl/test/fixture_log_observer.hpp b/test/src/mbgl/test/fixture_log_observer.hpp index 918bbee18c..96ddc2c54f 100644 --- a/test/src/mbgl/test/fixture_log_observer.hpp +++ b/test/src/mbgl/test/fixture_log_observer.hpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include diff --git a/test/src/mbgl/test/util.cpp b/test/src/mbgl/test/util.cpp index 5935750db6..7ca2d72504 100644 --- a/test/src/mbgl/test/util.cpp +++ b/test/src/mbgl/test/util.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/test/storage/asset_file_source.test.cpp b/test/storage/asset_file_source.test.cpp index ab214ff793..b275cfc05a 100644 --- a/test/storage/asset_file_source.test.cpp +++ b/test/storage/asset_file_source.test.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include diff --git a/test/storage/local_file_source.test.cpp b/test/storage/local_file_source.test.cpp index afb418d735..c2f04d7543 100644 --- a/test/storage/local_file_source.test.cpp +++ b/test/storage/local_file_source.test.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include diff --git a/test/style/conversion/geojson_options.test.cpp b/test/style/conversion/geojson_options.test.cpp index 46a2aa950b..dc9be237a8 100644 --- a/test/style/conversion/geojson_options.test.cpp +++ b/test/style/conversion/geojson_options.test.cpp @@ -4,7 +4,7 @@ #include #include -#include +#include using namespace mbgl::style; using namespace mbgl::style::conversion; diff --git a/test/style/source.test.cpp b/test/style/source.test.cpp index e40089c09f..01f54d6b18 100644 --- a/test/style/source.test.cpp +++ b/test/style/source.test.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include diff --git a/test/text/glyph_atlas.test.cpp b/test/text/glyph_atlas.test.cpp index e8564cc69c..020a7140cb 100644 --- a/test/text/glyph_atlas.test.cpp +++ b/test/text/glyph_atlas.test.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include using namespace mbgl; diff --git a/test/util/http_timeout.test.cpp b/test/util/http_timeout.test.cpp index 365c40523f..e99c703159 100644 --- a/test/util/http_timeout.test.cpp +++ b/test/util/http_timeout.test.cpp @@ -1,6 +1,6 @@ #include -#include +#include #include #include #include diff --git a/test/util/mapbox.test.cpp b/test/util/mapbox.test.cpp index 04c9808ed3..70bb8d0700 100644 --- a/test/util/mapbox.test.cpp +++ b/test/util/mapbox.test.cpp @@ -1,6 +1,6 @@ #include -#include +#include #include #include #include diff --git a/test/util/text_conversions.test.cpp b/test/util/text_conversions.test.cpp index 19e30d9f3d..442a49fa0c 100644 --- a/test/util/text_conversions.test.cpp +++ b/test/util/text_conversions.test.cpp @@ -2,7 +2,7 @@ #include #include -#include +#include using namespace mbgl; -- cgit v1.2.1