diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-08-18 19:03:44 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-08-18 19:03:44 +0800 |
commit | 09a0b595f26b83477826b1f2e49bdd4d9a4bcee1 (patch) | |
tree | 30d72345bdea998d0651dcb4841670e0f3f9a543 /src | |
parent | b53780b2106b0f233c48e27653336b8a629ca486 (diff) | |
download | cru-09a0b595f26b83477826b1f2e49bdd4d9a4bcee1.tar.gz cru-09a0b595f26b83477826b1f2e49bdd4d9a4bcee1.tar.bz2 cru-09a0b595f26b83477826b1f2e49bdd4d9a4bcee1.zip |
Add logger cpp stream.
Diffstat (limited to 'src')
-rw-r--r-- | src/base/log/Logger.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/base/log/Logger.cpp b/src/base/log/Logger.cpp index 86c65dbc..8aa8915c 100644 --- a/src/base/log/Logger.cpp +++ b/src/base/log/Logger.cpp @@ -1,8 +1,8 @@ #include "cru/base/log/Logger.h" #include "cru/base/log/StdioLogTarget.h" -#include <ctime> #include <algorithm> +#include <ctime> #ifdef CRU_PLATFORM_WINDOWS #include "cru/base/platform/win/DebugLogTarget.h" @@ -85,4 +85,19 @@ void Logger::Log(LogInfo log_info) { #endif log_queue_.Push(std::move(log_info)); } + +LoggerCppStream::LoggerCppStream(Logger *logger, LogLevel level, String tag) + : logger_(logger), level_(level), tag_(std::move(tag)) {} + +LoggerCppStream LoggerCppStream::WithLevel(LogLevel level) const { + return LoggerCppStream(this->logger_, level, this->tag_); +} + +LoggerCppStream LoggerCppStream::WithTag(String tag) const { + return LoggerCppStream(this->logger_, this->level_, std::move(tag)); +} + +void LoggerCppStream::Consume(StringView str) { + this->logger_->Log(this->level_, this->tag_, str.ToString()); +} } // namespace cru::log |