aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/Logger.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-10-19 22:33:01 +0800
committercrupest <crupest@outlook.com>2021-10-19 22:33:01 +0800
commitfd2e84640b2be52f97f48d818d26fc1289a50c7a (patch)
treeab94a27fae4b4bb47a6124a478b20c82a1393b9b /include/cru/common/Logger.hpp
parent44f24f8ece48fd4acc2e8d5f5a052cbc1981768c (diff)
downloadcru-fd2e84640b2be52f97f48d818d26fc1289a50c7a.tar.gz
cru-fd2e84640b2be52f97f48d818d26fc1289a50c7a.tar.bz2
cru-fd2e84640b2be52f97f48d818d26fc1289a50c7a.zip
...
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