aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/Logger.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/common/Logger.hpp')
-rw-r--r--include/cru/common/Logger.hpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/cru/common/Logger.hpp b/include/cru/common/Logger.hpp
index 3dabeb91..7d43fc5a 100644
--- a/include/cru/common/Logger.hpp
+++ b/include/cru/common/Logger.hpp
@@ -94,4 +94,20 @@ void TagError(StringView tag, TArgs&&... args) {
Logger::GetInstance()->Log(LogLevel::Error, tag,
Format(std::forward<TArgs>(args)...));
}
+
+class StdioLogSource : public Object, public virtual ILogSource {
+ public:
+ explicit StdioLogSource(bool use_lock = false);
+
+ CRU_DELETE_COPY(StdioLogSource)
+ CRU_DELETE_MOVE(StdioLogSource)
+
+ ~StdioLogSource() override;
+
+ public:
+ void Write(LogLevel level, StringView s) override;
+
+ private:
+ bool use_lock_;
+};
} // namespace cru::log