diff --git a/src/MaaCore/Config/AbstractConfig.cpp b/src/MaaCore/Config/AbstractConfig.cpp index 52bb8df7ef..327b240bc0 100644 --- a/src/MaaCore/Config/AbstractConfig.cpp +++ b/src/MaaCore/Config/AbstractConfig.cpp @@ -3,7 +3,6 @@ #include #include "Utils/Demangle.hpp" -#include "Utils/LogControl.hpp" #include "Utils/Logger.hpp" bool asst::AbstractConfig::load(const std::filesystem::path& path) @@ -16,9 +15,7 @@ bool asst::AbstractConfig::load(const std::filesystem::path& path) } m_path = path; - if (LogControl::is_enabled()) { - LogTraceScope(class_name + " :: " + __FUNCTION__); - } + LogTraceScope(class_name + " :: " + __FUNCTION__); auto ret = json::open(path, true); if (!ret) { diff --git a/src/MaaCore/Config/Roguelike/RoguelikeCopilotConfig.cpp b/src/MaaCore/Config/Roguelike/RoguelikeCopilotConfig.cpp index 84cdcb63d2..f1c3b42860 100644 --- a/src/MaaCore/Config/Roguelike/RoguelikeCopilotConfig.cpp +++ b/src/MaaCore/Config/Roguelike/RoguelikeCopilotConfig.cpp @@ -1,7 +1,5 @@ #include "RoguelikeCopilotConfig.h" -#include "Utils/LogControl.hpp" - #include #include "Utils/Logger.hpp" @@ -14,14 +12,14 @@ bool asst::RoguelikeCopilotConfig::load(const std::filesystem::path& path) LogTraceFunction; bool ret = true; - LogControl::disable(); + Logger::level::trace.set_enabled(false); for (auto& entry : std::filesystem::recursive_directory_iterator(path)) { if (!entry.is_regular_file() || entry.path().extension() != ".json") { continue; } ret &= AbstractConfig::load(entry.path()); } - LogControl::enable(); + //Log.enable(Logger::LOG_TRACE); return ret; } diff --git a/src/MaaCore/MaaCore.vcxproj b/src/MaaCore/MaaCore.vcxproj index eca33b4745..42c4ae01d5 100644 --- a/src/MaaCore/MaaCore.vcxproj +++ b/src/MaaCore/MaaCore.vcxproj @@ -108,7 +108,6 @@ - @@ -287,7 +286,6 @@ - diff --git a/src/MaaCore/Utils/LogControl.cpp b/src/MaaCore/Utils/LogControl.cpp deleted file mode 100644 index f39955759e..0000000000 --- a/src/MaaCore/Utils/LogControl.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "LogControl.hpp" - - -namespace asst -{ - bool LogControl::g_log_trace_ = true; -} diff --git a/src/MaaCore/Utils/LogControl.hpp b/src/MaaCore/Utils/LogControl.hpp deleted file mode 100644 index bc731978d9..0000000000 --- a/src/MaaCore/Utils/LogControl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -namespace asst -{ -class LogControl -{ -public: - static void enable() { g_log_trace_ = true; } - - static void disable() { g_log_trace_ = false; } - - static bool is_enabled() { return g_log_trace_; } - -private: - static bool g_log_trace_; -}; -} diff --git a/src/MaaCore/Utils/Logger.hpp b/src/MaaCore/Utils/Logger.hpp index 4b95ba1842..1578f6bdd4 100644 --- a/src/MaaCore/Utils/Logger.hpp +++ b/src/MaaCore/Utils/Logger.hpp @@ -386,11 +386,17 @@ public: return *this; } - static const level debug; - static const level trace; - static const level info; - static const level warn; - static const level error; + bool enabled = true; + + bool is_enabled() const { return enabled; } + + void set_enabled(bool enable) { enabled = enable; } + + static level debug; + static level trace; + static level info; + static level warn; + static level error; std::string_view str; }; @@ -642,12 +648,17 @@ public: template inline void log(level lv, Args&&... args) { - ((*this << lv) << ... << std::forward(args)); + if (lv.is_enabled()) { + ((*this << lv) << ... << std::forward(args)); + } } template inline void log(std::unique_lock&& lock, level lv, Args&&... args) { + if (!lv.is_enabled()) { + return; + } if (!m_ofs || !m_ofs.is_open()) { m_ofs = std::ofstream(m_log_path, std::ios::out | std::ios::app); } @@ -679,6 +690,7 @@ private: Logger() : m_directory(UserDir.get()) { + level::trace.set_enabled(false); std::filesystem::create_directories(m_log_path.parent_path()); rotate(); log_init_info(); @@ -729,11 +741,11 @@ inline constexpr Logger::separator Logger::separator::tab("\t"); inline constexpr Logger::separator Logger::separator::newline("\n"); inline constexpr Logger::separator Logger::separator::comma(","); -inline constexpr Logger::level Logger::level::debug("DBG"); -inline constexpr Logger::level Logger::level::trace("TRC"); -inline constexpr Logger::level Logger::level::info("INF"); -inline constexpr Logger::level Logger::level::warn("WRN"); -inline constexpr Logger::level Logger::level::error("ERR"); +inline Logger::level Logger::level::debug("DBG"); +inline Logger::level Logger::level::trace("TRC"); +inline Logger::level Logger::level::info("INF"); +inline Logger::level Logger::level::warn("WRN"); +inline Logger::level Logger::level::error("ERR"); class LoggerAux {