diff --git a/weex_core/Source/base/log_defines.cpp b/weex_core/Source/base/log_defines.cpp index 289c76847b..6c62537e40 100644 --- a/weex_core/Source/base/log_defines.cpp +++ b/weex_core/Source/base/log_defines.cpp @@ -28,6 +28,8 @@ #include "core/manager/weex_core_manager.h" +weex::base::LogImplement* weex::base::LogImplement::g_instance = nullptr; + namespace WeexCore { struct LogFlattenHelper { LogFlattenHelper() : mLargeBuf() {} diff --git a/weex_core/Source/base/log_defines.h b/weex_core/Source/base/log_defines.h index 6f0028bb4c..50b0c5400f 100644 --- a/weex_core/Source/base/log_defines.h +++ b/weex_core/Source/base/log_defines.h @@ -101,10 +101,9 @@ class LogBase { class LogImplement { public: static LogImplement *getLog() { - static weex::base::LogImplement *mySelf; static std::once_flag once_flag; - std::call_once(once_flag, []() { mySelf = new LogImplement(); }); - return mySelf; + std::call_once(once_flag, []() { g_instance = new LogImplement(); }); + return g_instance; } void setLogImplement(weex::base::LogBase *logVirtual) { @@ -167,6 +166,7 @@ class LogImplement { private: weex::base::LogBase *m_log; + static LogImplement *g_instance; LogImplement() : m_log(nullptr) {} }; }