From 644aa4397b03dbef73f8bfedc13925b51cad836b Mon Sep 17 00:00:00 2001 From: saturneric Date: Fri, 5 Jan 2024 20:55:15 +0800 Subject: feat: integrate logging api to core --- src/core/utils/LogUtils.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) (limited to 'src/core/utils/LogUtils.h') diff --git a/src/core/utils/LogUtils.h b/src/core/utils/LogUtils.h index a4d29dd8..0ed618f9 100644 --- a/src/core/utils/LogUtils.h +++ b/src/core/utils/LogUtils.h @@ -28,4 +28,85 @@ #pragma once -auto GPGFRONTEND_CORE_EXPORT GetCoreLogger() -> std::shared_ptr; \ No newline at end of file +namespace GpgFrontend { + +/** + * @brief + * + * @return std::shared_ptr + */ +auto GPGFRONTEND_CORE_EXPORT GetDefaultLogger() + -> std::shared_ptr; + +/** + * @brief + * + * @return std::shared_ptr + */ +auto GPGFRONTEND_CORE_EXPORT GetCoreLogger() -> std::shared_ptr; + +/** + * @brief + * + * @return std::shared_ptr + */ +auto GPGFRONTEND_CORE_EXPORT GetLogger(const std::string &) + -> std::shared_ptr; + +/** + * @brief Set the Default Log Level object + * + * @return auto + */ +void GPGFRONTEND_CORE_EXPORT SetDefaultLogLevel(spdlog::level::level_enum); + +/** + * @brief + * + * @return auto + */ +void GPGFRONTEND_CORE_EXPORT RegisterAsyncLogger(const std::string &, + spdlog::level::level_enum); + +/** + * @brief + * + * @return auto + */ +void GPGFRONTEND_CORE_EXPORT RegisterSyncLogger(const std::string &, + spdlog::level::level_enum); + +} // namespace GpgFrontend + +#define GF_DEFAULT_LOG_TRACE(...) \ + SPDLOG_LOGGER_TRACE(GpgFrontend::GetDefaultLogger(), __VA_ARGS__) +#define GF_DEFAULT_LOG_DEBUG(...) \ + SPDLOG_LOGGER_DEBUG(GpgFrontend::GetDefaultLogger(), __VA_ARGS__) +#define GF_DEFAULT_LOG_INFO(...) \ + SPDLOG_LOGGER_INFO(GpgFrontend::GetDefaultLogger(), __VA_ARGS__) +#define GF_DEFAULT_LOG_WARN(...) \ + SPDLOG_LOGGER_WARN(GpgFrontend::GetDefaultLogger(), __VA_ARGS__) +#define GF_DEFAULT_LOG_ERROR(...) \ + SPDLOG_LOGGER_ERROR(GpgFrontend::GetDefaultLogger(), __VA_ARGS__) + +#define GF_CORE_LOG_TRACE(...) \ + SPDLOG_LOGGER_TRACE(GpgFrontend::GetCoreLogger(), __VA_ARGS__) +#define GF_CORE_LOG_DEBUG(...) \ + SPDLOG_LOGGER_DEBUG(GpgFrontend::GetCoreLogger(), __VA_ARGS__) +#define GF_CORE_LOG_INFO(...) \ + SPDLOG_LOGGER_INFO(GpgFrontend::GetCoreLogger(), __VA_ARGS__) +#define GF_CORE_LOG_WARN(...) \ + SPDLOG_LOGGER_WARN(GpgFrontend::GetCoreLogger(), __VA_ARGS__) +#define GF_CORE_LOG_ERROR(...) \ + SPDLOG_LOGGER_ERROR(GpgFrontend::GetCoreLogger(), __VA_ARGS__) + +#define GF_LOG_TRACE(ID, ...) \ + SPDLOG_LOGGER_TRACE(GpgFrontend::GetLogger(ID), __VA_ARGS__) +#define GF_LOG_DEBUG(ID, ...) \ + SPDLOG_LOGGER_DEBUG(GpgFrontend::GetLogger(ID), __VA_ARGS__) +#define GF_LOG_INFO(ID, ...) \ + SPDLOG_LOGGER_INFO(GpgFrontend::GetLogger(ID), __VA_ARGS__) +#define GF_LOG_WARN(ID, ...) \ + SPDLOG_LOGGER_WARN(GpgFrontend::GetLogger(ID), __VA_ARGS__) +#define GF_LOG_ERROR(ID, ...) \ + SPDLOG_LOGGER_ERROR(GpgFrontend::GetLogger(ID), __VA_ARGS__) \ No newline at end of file -- cgit v1.2.3