diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-10-11 19:30:36 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-10-11 19:30:36 +0800 |
commit | ea80856073d4896da5df78d60369b327346a0b56 (patch) | |
tree | c5bd85b508374066a66864ba1317129ac49db6fc /include/cru/base/log/Logger.h | |
parent | 9768b98d46982501c3b34c171aa51389b06add3b (diff) | |
download | cru-ea80856073d4896da5df78d60369b327346a0b56.tar.gz cru-ea80856073d4896da5df78d60369b327346a0b56.tar.bz2 cru-ea80856073d4896da5df78d60369b327346a0b56.zip |
Split and log debug tag.
Diffstat (limited to 'include/cru/base/log/Logger.h')
-rw-r--r-- | include/cru/base/log/Logger.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/cru/base/log/Logger.h b/include/cru/base/log/Logger.h index 1ef53654..f44bad72 100644 --- a/include/cru/base/log/Logger.h +++ b/include/cru/base/log/Logger.h @@ -6,7 +6,9 @@ #include <list> #include <memory> #include <mutex> +#include <string_view> #include <thread> +#include <unordered_set> #include <utility> #include <vector> @@ -40,6 +42,11 @@ class CRU_BASE_API Logger : public Object2 { void AddLogTarget(std::unique_ptr<ILogTarget> source); void RemoveLogTarget(ILogTarget* source); + void AddDebugTag(std::string tag); + void RemoveDebugTag(const std::string& tag); + void LoadDebugTagFromEnv(const char* env_var = "CRU_LOG_DEBUG", + std::string sep = ","); + public: void Log(LogLevel level, std::string tag, std::string message) { Log(LogInfo(level, std::move(tag), std::move(message))); @@ -59,6 +66,7 @@ class CRU_BASE_API Logger : public Object2 { private: std::mutex log_queue_mutex_; + std::unordered_set<std::string> debug_tags_; std::condition_variable log_queue_condition_variable_; std::list<LogInfo> log_queue_; bool log_stop_; |