diff options
author | Gabi Melman <gmelman1@gmail.com> | 2022-05-12 23:24:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-12 23:24:55 +0300 |
commit | dea6bb1085466370ed6d629b4d462f299db75958 (patch) | |
tree | ff4ebdcf37c4ca8c4bfe21f54aefad0475a2a357 | |
parent | c6d048747419e886fac830d4cba9ad14e3a41461 (diff) | |
parent | b960d5a062ba12dade65f576ed32ded191cbff82 (diff) |
Merge pull request #2359 from tiolan/mastermaster
Revert "Merge pull request #2352 from tiolan/topic/android_buffer"
-rw-r--r-- | include/spdlog/sinks/android_sink.h | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/include/spdlog/sinks/android_sink.h b/include/spdlog/sinks/android_sink.h index ba1f70b7..dd811633 100644 --- a/include/spdlog/sinks/android_sink.h +++ b/include/spdlog/sinks/android_sink.h @@ -15,7 +15,6 @@ #include <mutex> #include <string> #include <thread> -#include <type_traits> #if !defined(SPDLOG_ANDROID_RETRIES) #define SPDLOG_ANDROID_RETRIES 2 @@ -25,15 +24,13 @@ namespace spdlog { namespace sinks { /* - * Android sink - * (logging using __android_log_write or __android_log_buf_write depending on the specified BufferID) - * They are thread-safe. No lock is needed. + * Android sink (logging using __android_log_write) + * __android_log_write is thread-safe. No lock is needed. */ -template<int BufferID> -class android_sink_buf : public sink +class android_sink : public sink { public: - explicit android_sink_buf(const std::string &tag = "spdlog", bool use_raw_msg = false) + explicit android_sink(const std::string &tag = "spdlog", bool use_raw_msg = false) : _tag(tag) , _use_raw_msg(use_raw_msg) { @@ -45,12 +42,12 @@ public: const char *msg_output = (_use_raw_msg ? msg.raw.c_str() : msg.formatted.c_str()); // See system/core/liblog/logger_write.c for explanation of return value - int ret = android_log(priority, _tag.c_str(), msg_output); + int ret = __android_log_write(priority, _tag.c_str(), msg_output); int retry_count = 0; while ((ret == -11 /*EAGAIN*/) && (retry_count < SPDLOG_ANDROID_RETRIES)) { details::os::sleep_for_millis(5); - ret = android_log(priority, _tag.c_str(), msg_output); + ret = __android_log_write(priority, _tag.c_str(), msg_output); retry_count++; } @@ -63,21 +60,6 @@ public: void flush() override {} private: - // There might be liblog versions used, that do not support __android_log_buf_write. So we only compile and link against - // __android_log_buf_write, if user explicitely provides a non-default log buffer. Otherwise, when using the default log buffer, always - // log via __android_log_write. - template<int ID = BufferID, typename... Args> - typename std::enable_if<ID == static_cast<int>(log_id::LOG_ID_MAIN), int>::type android_log(Args... args) - { - return __android_log_write(std::forward<Args>(args)...); - } - - template<int ID = BufferID, typename... Args> - typename std::enable_if<ID != static_cast<int>(log_id::LOG_ID_MAIN), int>::type android_log(Args... args) - { - return __android_log_buf_write(ID, std::forward<Args>(args)...); - } - static android_LogPriority convert_to_android(spdlog::level::level_enum level) { switch (level) @@ -103,12 +85,6 @@ private: bool _use_raw_msg; }; -/** - * Android sink (logging using __android_log_write) - * __android_log_write is thread-safe. No lock is needed. - */ -using android_sink = android_sink_buf<log_id::LOG_ID_MAIN>; - } // namespace sinks } // namespace spdlog |