|
|
@@ -155,6 +155,26 @@ public:
|
|
|
void EnableForStacktrace() override {}
|
|
|
};
|
|
|
|
|
|
+#ifdef ANDROID
|
|
|
+/**
|
|
|
+ * Backend that writes to the Android logcat
|
|
|
+ */
|
|
|
+class LogcatBackend : public Backend {
|
|
|
+public:
|
|
|
+ explicit LogcatBackend() = default;
|
|
|
+
|
|
|
+ ~LogcatBackend() override = default;
|
|
|
+
|
|
|
+ void Write(const Entry& entry) override {
|
|
|
+ PrintMessageToLogcat(entry);
|
|
|
+ }
|
|
|
+
|
|
|
+ void Flush() override {}
|
|
|
+
|
|
|
+ void EnableForStacktrace() override {}
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
bool initialization_in_progress_suppress_logging = true;
|
|
|
|
|
|
/**
|
|
|
@@ -260,6 +280,9 @@ private:
|
|
|
lambda(static_cast<Backend&>(debugger_backend));
|
|
|
lambda(static_cast<Backend&>(color_console_backend));
|
|
|
lambda(static_cast<Backend&>(file_backend));
|
|
|
+#ifdef ANDROID
|
|
|
+ lambda(static_cast<Backend&>(lc_backend));
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
static void Deleter(Impl* ptr) {
|
|
|
@@ -272,6 +295,9 @@ private:
|
|
|
DebuggerBackend debugger_backend{};
|
|
|
ColorConsoleBackend color_console_backend{};
|
|
|
FileBackend file_backend;
|
|
|
+#ifdef ANDROID
|
|
|
+ LogcatBackend lc_backend{};
|
|
|
+#endif
|
|
|
|
|
|
MPSCQueue<Entry> message_queue{};
|
|
|
std::chrono::steady_clock::time_point time_origin{std::chrono::steady_clock::now()};
|