diff --git a/src/logger.cpp b/src/logger.cpp index 6b30a03058491590d52d72a0bf26cc477e684ad4..70ccc75e37b9c8002c0238f8b71c936db8b6e3b0 100644 --- a/src/logger.cpp +++ b/src/logger.cpp @@ -270,11 +270,11 @@ public: virtual void consume(Msg& msg) = 0; - void enable(bool en) { enabled_.store(en); } - bool isEnable() { return enabled_.load(); } + void enable(bool en) { enabled_.store(en, std::memory_order_relaxed); } + bool isEnable() { return enabled_.load(std::memory_order_relaxed); } private: - std::atomic<bool> enabled_; + std::atomic_bool enabled_ {false}; }; class ConsoleLog : public Logger::Handler @@ -580,18 +580,24 @@ log_to_if_enabled(T& handler, Logger::Msg& msg) } } -static std::atomic_bool debugEnabled {false}; +static std::atomic_bool debugEnabled_ {false}; void Logger::setDebugMode(bool enable) { - debugEnabled.store(enable); + debugEnabled_.store(enable, std::memory_order_relaxed); +} + +bool +Logger::debugEnabled() +{ + return debugEnabled_.load(std::memory_order_relaxed); } DRING_PUBLIC void Logger::vlog(int level, const char* file, int line, bool linefeed, const char* fmt, va_list ap) { - if (not debugEnabled.load() and level < LOG_WARNING) { + if (not debugEnabled_.load(std::memory_order_relaxed) and level < LOG_WARNING) { return; } diff --git a/src/logger.h b/src/logger.h index 535c2a7430ac578f95642c9e7db9ef5d7adce96c..9fd7a1adc0c08007cf32d9a2c8103701d8d4429f 100644 --- a/src/logger.h +++ b/src/logger.h @@ -124,6 +124,7 @@ public: static void setFileLog(const std::string& path); static void setDebugMode(bool enable); + static bool debugEnabled(); static void fini();