From e99541c1394c9f578a017ea1be8786f7ef2584304f3eeffc9342234bf5260838 Mon Sep 17 00:00:00 2001 From: CupWater Date: Mon, 17 Aug 2026 11:29:05 +0800 Subject: [PATCH] . --- CMakeLists.txt | 17 ++++++------ include/featherlog/flog_definitions.h | 30 ++++++++++++++++++++++ include/{ => featherlog}/log_formatter.hpp | 7 +++-- include/{ => featherlog}/log_level.hpp | 0 include/{ => featherlog}/log_manager.hpp | 14 +++++----- include/{ => featherlog}/log_message.hpp | 0 include/{ => featherlog}/log_outputter.hpp | 0 include/{ => featherlog}/logger.hpp | 0 src/{featherlog => }/log_manager.cpp | 2 +- 9 files changed, 51 insertions(+), 19 deletions(-) create mode 100644 include/featherlog/flog_definitions.h rename include/{ => featherlog}/log_formatter.hpp (59%) rename include/{ => featherlog}/log_level.hpp (100%) rename include/{ => featherlog}/log_manager.hpp (82%) rename include/{ => featherlog}/log_message.hpp (100%) rename include/{ => featherlog}/log_outputter.hpp (100%) rename include/{ => featherlog}/logger.hpp (100%) rename src/{featherlog => }/log_manager.cpp (98%) diff --git a/CMakeLists.txt b/CMakeLists.txt index f3e75fa..c5f8d2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,13 +10,13 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/shared") # 定义源文件 set(${PROJECT_NAME}_SOURCES - include/log_manager.hpp - include/log_outputter.hpp - include/logger.hpp - include/log_formatter.hpp - include/log_level.hpp - include/log_message.hpp - src/featherlog/log_manager.cpp) + include/featherlog/log_manager.hpp + include/featherlog/log_outputter.hpp + include/featherlog/logger.hpp + include/featherlog/log_formatter.hpp + include/featherlog/log_level.hpp + include/featherlog/log_message.hpp + src/log_manager.cpp) # 生成静态库 add_library(${PROJECT_NAME}_static STATIC ${${PROJECT_NAME}_SOURCES}) @@ -29,7 +29,8 @@ add_compile_definitions(FLOG_DLL_MODE) add_compile_definitions(FLOG_BUILDING_DLL) # 生成动态库 -add_library(${PROJECT_NAME}_shared SHARED ${${PROJECT_NAME}_SOURCES}) +add_library(${PROJECT_NAME}_shared SHARED ${${PROJECT_NAME}_SOURCES} + include/featherlog/flog_definitions.h) target_include_directories(${PROJECT_NAME}_shared PUBLIC include) set_target_properties(${PROJECT_NAME}_shared PROPERTIES OUTPUT_NAME ${PROJECT_NAME} diff --git a/include/featherlog/flog_definitions.h b/include/featherlog/flog_definitions.h new file mode 100644 index 0000000..6576cdc --- /dev/null +++ b/include/featherlog/flog_definitions.h @@ -0,0 +1,30 @@ +#ifndef FEATHERLOG_FLOG_DEFINITIONS_H +#define FEATHERLOG_FLOG_DEFINITIONS_H + +#ifndef FLOG_CALL +# define FLOG_CALL __stdcall +#endif + +#ifndef FLOG_API + +#if defined(__unix) || defined(__unix__) +#define FLOG_API +#elif defined(_WIN32) || defined(__WIN32__) + +# ifdef FLOG_DLL_MODE +# ifdef FLOG_BUILDING_DLL +# define FLOG_API __declspec(dllexport) +# else +# define FLOG_API __declspec(dllimport) +# endif +# else +# define FLOG_API +# endif + +#else +# error Unknow platform! +#endif + +#endif + +#endif diff --git a/include/log_formatter.hpp b/include/featherlog/log_formatter.hpp similarity index 59% rename from include/log_formatter.hpp rename to include/featherlog/log_formatter.hpp index 61587d7..b9ff58e 100644 --- a/include/log_formatter.hpp +++ b/include/featherlog/log_formatter.hpp @@ -1,14 +1,17 @@ #ifndef FEATHERLOG_LOG_FORMATTER_HPP #define FEATHERLOG_LOG_FORMATTER_HPP + #include +#include + namespace flog { - class LogFormatter + class FLOG_API LogFormatter { public: virtual ~LogFormatter() = default; - virtual std::string format() = 0; + virtual std::string FLOG_CALL format() = 0; }; } diff --git a/include/log_level.hpp b/include/featherlog/log_level.hpp similarity index 100% rename from include/log_level.hpp rename to include/featherlog/log_level.hpp diff --git a/include/log_manager.hpp b/include/featherlog/log_manager.hpp similarity index 82% rename from include/log_manager.hpp rename to include/featherlog/log_manager.hpp index f06ab43..62f5ff3 100644 --- a/include/log_manager.hpp +++ b/include/featherlog/log_manager.hpp @@ -8,17 +8,15 @@ #include #include -#include "logger.hpp" -#include "log_formatter.hpp" -#include "log_level.hpp" -#include "log_message.hpp" -#include "log_outputter.hpp" +#include +#include +#include +#include +#include namespace flog { - class LogManager; - - class LogManager : public std::enable_shared_from_this + class FLOG_API LogManager : public std::enable_shared_from_this { friend class LoggerCallback; diff --git a/include/log_message.hpp b/include/featherlog/log_message.hpp similarity index 100% rename from include/log_message.hpp rename to include/featherlog/log_message.hpp diff --git a/include/log_outputter.hpp b/include/featherlog/log_outputter.hpp similarity index 100% rename from include/log_outputter.hpp rename to include/featherlog/log_outputter.hpp diff --git a/include/logger.hpp b/include/featherlog/logger.hpp similarity index 100% rename from include/logger.hpp rename to include/featherlog/logger.hpp diff --git a/src/featherlog/log_manager.cpp b/src/log_manager.cpp similarity index 98% rename from src/featherlog/log_manager.cpp rename to src/log_manager.cpp index 77941a5..9932408 100644 --- a/src/featherlog/log_manager.cpp +++ b/src/log_manager.cpp @@ -1,4 +1,4 @@ -#include "../../include/log_manager.hpp" +#include "../include/featherlog/log_manager.hpp" namespace flog {