aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/base/log/Logger.cpp17
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