From dfe62dcf8bcefc523b466e127c3edc4dc2756629 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 6 Oct 2024 13:57:39 +0800 Subject: Rename common to base. --- include/cru/common/log/Logger.h | 88 --------------------------------- include/cru/common/log/StdioLogTarget.h | 17 ------- 2 files changed, 105 deletions(-) delete mode 100644 include/cru/common/log/Logger.h delete mode 100644 include/cru/common/log/StdioLogTarget.h (limited to 'include/cru/common/log') diff --git a/include/cru/common/log/Logger.h b/include/cru/common/log/Logger.h deleted file mode 100644 index 25735e14..00000000 --- a/include/cru/common/log/Logger.h +++ /dev/null @@ -1,88 +0,0 @@ -#pragma once -#include "../Base.h" - -#include "../Format.h" -#include "../String.h" -#include "../concurrent/ConcurrentQueue.h" - -#include -#include -#include -#include - -namespace cru::log { -enum class LogLevel { Debug, Info, Warn, Error }; - -struct CRU_BASE_API LogInfo { - LogInfo(LogLevel level, String tag, String message) - : level(level), tag(std::move(tag)), message(std::move(message)) {} - - CRU_DEFAULT_COPY(LogInfo) - CRU_DEFAULT_MOVE(LogInfo) - - ~LogInfo() = default; - - LogLevel level; - String tag; - String message; -}; - -struct CRU_BASE_API ILogTarget : virtual Interface { - // Write the string s. LogLevel is just a helper. It has no effect on the - // content to write. - virtual void Write(LogLevel level, StringView s) = 0; -}; - -class CRU_BASE_API Logger : public Object { - public: - static Logger* GetInstance(); - - public: - Logger(); - - CRU_DELETE_COPY(Logger) - CRU_DELETE_MOVE(Logger) - - ~Logger() override; - - public: - void AddLogTarget(std::unique_ptr source); - void RemoveLogTarget(ILogTarget* source); - - public: - void Log(LogLevel level, String tag, String message) { - Log(LogInfo(level, std::move(tag), std::move(message))); - } - void Log(LogInfo log_info); - - template - void FormatLog(LogLevel level, String tag, StringView format, - Args&&... args) { - Log(level, std::move(tag), Format(format, std::forward(args)...)); - } - - private: - concurrent::ConcurrentQueue log_queue_; - - std::mutex target_list_mutex_; - std::vector> target_list_; - - std::thread log_thread_; -}; -} // namespace cru::log - -#define CRU_LOG_DEBUG(...) \ - cru::log::Logger::GetInstance()->FormatLog(cru::log::LogLevel::Debug, \ - kLogTag, __VA_ARGS__) - -#define CRU_LOG_INFO(...) \ - cru::log::Logger::GetInstance()->FormatLog(cru::log::LogLevel::Info, \ - kLogTag, __VA_ARGS__) - -#define CRU_LOG_WARN(...) \ - cru::log::Logger::GetInstance()->FormatLog(cru::log::LogLevel::Warn, \ - kLogTag, __VA_ARGS__) - -#define CRU_LOG_ERROR(...) \ - cru::log::Logger::GetInstance()->FormatLog(cru::log::LogLevel::Error, \ - kLogTag, __VA_ARGS__) diff --git a/include/cru/common/log/StdioLogTarget.h b/include/cru/common/log/StdioLogTarget.h deleted file mode 100644 index 4123766b..00000000 --- a/include/cru/common/log/StdioLogTarget.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once -#include "Logger.h" - -namespace cru::log { -class StdioLogTarget : public Object, public virtual log::ILogTarget { - public: - explicit StdioLogTarget(); - - CRU_DELETE_COPY(StdioLogTarget) - CRU_DELETE_MOVE(StdioLogTarget) - - ~StdioLogTarget() override; - - public: - void Write(log::LogLevel level, StringView s) override; -}; -} // namespace cru::log -- cgit v1.2.3