fix msvc 不支持中文注释,删除中文注释
This commit is contained in:
		| @@ -8,7 +8,7 @@ | |||||||
| #include "logging/logging-handler.h" | #include "logging/logging-handler.h" | ||||||
| #include "logging/logging-interceptor.h" | #include "logging/logging-interceptor.h" | ||||||
|  |  | ||||||
| // 日志操作器 |  | ||||||
| typedef struct Logger { | typedef struct Logger { | ||||||
|     log_level        level; |     log_level        level; | ||||||
|     log_Handler     *handler; |     log_Handler     *handler; | ||||||
| @@ -24,7 +24,7 @@ typedef struct Logger { | |||||||
|     void (*addInterceptor)(log_Interceptor *Interceptor); |     void (*addInterceptor)(log_Interceptor *Interceptor); | ||||||
| } Logger; | } Logger; | ||||||
|  |  | ||||||
| // 日志类对象 |  | ||||||
| typedef struct Logging { | typedef struct Logging { | ||||||
|     Logger *(*getLogger)(const char *name, log_level level); |     Logger *(*getLogger)(const char *name, log_level level); | ||||||
|     log_status (*setLevel)(Logger *logger, log_level level); |     log_status (*setLevel)(Logger *logger, log_level level); | ||||||
| @@ -32,6 +32,6 @@ typedef struct Logging { | |||||||
|     log_status (*destroyLogging)(struct Logging *logging); |     log_status (*destroyLogging)(struct Logging *logging); | ||||||
| } Logging; | } Logging; | ||||||
|  |  | ||||||
| Logging *newLogging(); // 创建日志类对象 | Logging *newLogging(); | ||||||
|  |  | ||||||
| #endif // __LOGGING_H__ | #endif // __LOGGING_H__ | ||||||
| @@ -14,5 +14,4 @@ typedef enum { | |||||||
|     L_OK, |     L_OK, | ||||||
| } log_status; | } log_status; | ||||||
|  |  | ||||||
|  |  | ||||||
| #endif // __LOGGING_CORE_H__ | #endif // __LOGGING_CORE_H__ | ||||||
|   | |||||||
| @@ -4,14 +4,13 @@ | |||||||
| #include <stdbool.h> | #include <stdbool.h> | ||||||
|  |  | ||||||
| typedef struct log_Handler { | typedef struct log_Handler { | ||||||
|     void* stream; |     void *stream; | ||||||
|     bool apply_color; |     bool  apply_color; | ||||||
|     void (*_free)(struct log_Handler* handler);//释放资源 |     void (*_free)(struct log_Handler *handler); | ||||||
|     void (*output)(struct log_Handler* handler,const char* message); |     void (*output)(struct log_Handler *handler, const char *message); | ||||||
| } log_Handler; | } log_Handler; | ||||||
|  |  | ||||||
|  | log_Handler *loggingFileHandler(const char *name); | ||||||
|  | log_Handler *loggingConsoleHandler(); | ||||||
|  |  | ||||||
| log_Handler* loggingFileHandler(const char* name);      | #endif //__LOGGING_HANDLER_H__ | ||||||
| log_Handler* loggingConsoleHandler(); |  | ||||||
|  |  | ||||||
| #endif  //__LOGGING_HANDLER_H__ |  | ||||||
| @@ -5,10 +5,10 @@ | |||||||
| #include "logging-handler.h" | #include "logging-handler.h" | ||||||
|  |  | ||||||
| typedef struct log_Interceptor { | typedef struct log_Interceptor { | ||||||
|     log_level    level;   // 拦截级别 |     log_level    level; | ||||||
|     log_Handler *handler; // 拦截目标处理器 |     log_Handler *handler; | ||||||
|     bool (*_dispose)(char *level, const char *message, ...); // 拦截触发器 |     bool (*_dispose)(char *level, const char *message, ...); | ||||||
|     void (*_free)(struct log_Interceptor *Interceptor);      // 释放资源 |     void (*_free)(struct log_Interceptor *Interceptor); | ||||||
|  |  | ||||||
| } log_Interceptor; | } log_Interceptor; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,29 +1,13 @@ | |||||||
| /******************************************** |  | ||||||
|  * @Date: 2024 09 18 |  | ||||||
|  * @Description: 控制台日志处理器 |  | ||||||
|  ********************************************/ |  | ||||||
| #include "logging/logging-handler.h" | #include "logging/logging-handler.h" | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @brief 释放组件 |  | ||||||
|  * @param handler 处理器 |  | ||||||
|  */ |  | ||||||
| static void __freeConsoleHandler(log_Handler *handler) { free(handler); } | static void __freeConsoleHandler(log_Handler *handler) { free(handler); } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @brief 输出组件 |  | ||||||
|  * @param handler 处理器 |  | ||||||
|  * @param message 消息 |  | ||||||
|  */ |  | ||||||
| static void outputConsoleHandler(log_Handler *handler, const char *message) { | static void outputConsoleHandler(log_Handler *handler, const char *message) { | ||||||
|     fputs(message, handler->stream); |     fputs(message, handler->stream); | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @brief :控制台日志处理器 |  | ||||||
|  */ |  | ||||||
| log_Handler *loggingConsoleHandler() { | log_Handler *loggingConsoleHandler() { | ||||||
|     log_Handler *handler = (log_Handler *)malloc(sizeof(log_Handler)); |     log_Handler *handler = (log_Handler *)malloc(sizeof(log_Handler)); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,33 +1,16 @@ | |||||||
| /******************************************** |  | ||||||
|  * @Date: 2024 09 18 |  | ||||||
|  * @Description: 文件日志处理器 |  | ||||||
|  ********************************************/ |  | ||||||
| #include "logging/logging-handler.h" | #include "logging/logging-handler.h" | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @brief 文件日志处理器释放组件 |  | ||||||
|  */ |  | ||||||
| static void __freeFileHandler(log_Handler *handler) { | static void __freeFileHandler(log_Handler *handler) { | ||||||
|     fclose(handler->stream); |     fclose(handler->stream); | ||||||
|     free(handler); |     free(handler); | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @brief 文件日志处理器输出组件 |  | ||||||
|  * @param handler 文件日志处理器 |  | ||||||
|  * @param message 消息 |  | ||||||
|  */ |  | ||||||
| static void outputFileHandler(log_Handler *handler, const char *message) { | static void outputFileHandler(log_Handler *handler, const char *message) { | ||||||
|     fputs(message, handler->stream); |     fputs(message, handler->stream); | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @brief 文件日志处理器 |  | ||||||
|  * @param   name 文件名 |  | ||||||
|  * @return  log_Handler * |  | ||||||
|  */ |  | ||||||
| log_Handler *loggingFileHandler(const char *name) { | log_Handler *loggingFileHandler(const char *name) { | ||||||
|     char new_file_name[100]; |     char new_file_name[100]; | ||||||
|     sprintf(new_file_name, "%s.log", name); |     sprintf(new_file_name, "%s.log", name); | ||||||
|   | |||||||
| @@ -1,8 +1,3 @@ | |||||||
| /******************************************** |  | ||||||
|  * @Date: 2024 08 12 |  | ||||||
|  * @Description: 子串拦截器 |  | ||||||
|  *********************************************/ |  | ||||||
|  |  | ||||||
| #include "logging/logging-interceptor.h" | #include "logging/logging-interceptor.h" | ||||||
| #include <stdbool.h> | #include <stdbool.h> | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| @@ -54,11 +49,6 @@ static bool kmp_search(char *substr, char *master) { | |||||||
|         return false; |         return false; | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description 处理 |  | ||||||
|  * @param |  | ||||||
|  * @return |  | ||||||
|  */ |  | ||||||
| static bool _disposeSubstring(char *level, const char *message, ...) { | static bool _disposeSubstring(char *level, const char *message, ...) { | ||||||
|     int count = 0; |     int count = 0; | ||||||
|  |  | ||||||
| @@ -76,11 +66,8 @@ static bool _disposeSubstring(char *level, const char *message, ...) { | |||||||
|     return false; |     return false; | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description : 完成拦截器自我释放内存 |  | ||||||
|  */ |  | ||||||
| static void _freeSubstring(log_Interceptor *interceptor) { | static void _freeSubstring(log_Interceptor *interceptor) { | ||||||
|     if (G_keywords!=NULL) { |     if (G_keywords != NULL) { | ||||||
|         int sum = 0; |         int sum = 0; | ||||||
|         while (G_keywords[sum] != NULL) { |         while (G_keywords[sum] != NULL) { | ||||||
|             free(G_keywords[sum]); |             free(G_keywords[sum]); | ||||||
| @@ -95,12 +82,10 @@ static void _freeSubstring(log_Interceptor *interceptor) { | |||||||
|         interceptor->handler->_free(interceptor->handler); |         interceptor->handler->_free(interceptor->handler); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if(interceptor!=NULL)free(interceptor); |     if (interceptor != NULL) | ||||||
|  |         free(interceptor); | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description : 子字符串拦截器 |  | ||||||
|  */ |  | ||||||
| log_Interceptor *loggingSubStringInterceptor(char        *keywords[], | log_Interceptor *loggingSubStringInterceptor(char        *keywords[], | ||||||
|                                              int          count, |                                              int          count, | ||||||
|                                              log_level    level, |                                              log_level    level, | ||||||
| @@ -112,7 +97,7 @@ log_Interceptor *loggingSubStringInterceptor(char        *keywords[], | |||||||
|     interceptor->level    = level; |     interceptor->level    = level; | ||||||
|     interceptor->_free    = _freeSubstring; |     interceptor->_free    = _freeSubstring; | ||||||
|  |  | ||||||
|     G_keywords            = (char **)malloc((sizeof(G_keywords) * count) + 1); |     G_keywords            = (char **)malloc((sizeof(G_keywords) * (count + 1))); | ||||||
|  |  | ||||||
|     for (int i = 0; i < count; i++) { |     for (int i = 0; i < count; i++) { | ||||||
|         G_keywords[i] = (char *)malloc(strlen(keywords[i]) + 1); |         G_keywords[i] = (char *)malloc(strlen(keywords[i]) + 1); | ||||||
|   | |||||||
| @@ -1,7 +1,3 @@ | |||||||
| /******************************************** |  | ||||||
|  * @Date: 2024 08 12 |  | ||||||
|  * @Description: 日志模块 |  | ||||||
|  ********************************************/ |  | ||||||
| #include "logging.h" | #include "logging.h" | ||||||
| #include "logging/logging-handler.h" | #include "logging/logging-handler.h" | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| @@ -9,7 +5,6 @@ | |||||||
| #include <string.h> | #include <string.h> | ||||||
| #include <time.h> | #include <time.h> | ||||||
|  |  | ||||||
|  |  | ||||||
| #define RED    "\033[0;31m" | #define RED    "\033[0;31m" | ||||||
| #define RED_B  "\033[0;41m" | #define RED_B  "\033[0;41m" | ||||||
| #define GREEN  "\033[0;32m" | #define GREEN  "\033[0;32m" | ||||||
| @@ -18,7 +13,6 @@ | |||||||
| #define RESET  "\033[0m" | #define RESET  "\033[0m" | ||||||
| #define CYAN   "\033[0;36m" | #define CYAN   "\033[0;36m" | ||||||
|  |  | ||||||
|  |  | ||||||
| #define LOG_BUFFER_SIZE 1024 | #define LOG_BUFFER_SIZE 1024 | ||||||
|  |  | ||||||
| Logger *G_LOGGER = NULL; | Logger *G_LOGGER = NULL; | ||||||
| @@ -31,9 +25,6 @@ static void getTimeStr(char *timeStr) { | |||||||
|     strcpy(timeStr, _timeStr); |     strcpy(timeStr, _timeStr); | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description : 添加日志处理器 |  | ||||||
|  */ |  | ||||||
| static void addHandler(log_Handler *handler) { | static void addHandler(log_Handler *handler) { | ||||||
|     if (G_LOGGER == NULL) { |     if (G_LOGGER == NULL) { | ||||||
|         return; |         return; | ||||||
| @@ -48,11 +39,6 @@ static void addHandler(log_Handler *handler) { | |||||||
|     G_LOGGER->handler = handler; |     G_LOGGER->handler = handler; | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description : 添加日志拦截器 |  | ||||||
|  * @param |  | ||||||
|  * @return |  | ||||||
|  */ |  | ||||||
| void addInterceptor(log_Interceptor *Interceptor) { | void addInterceptor(log_Interceptor *Interceptor) { | ||||||
|     if (G_LOGGER == NULL) { |     if (G_LOGGER == NULL) { | ||||||
|         return; |         return; | ||||||
| @@ -67,9 +53,6 @@ void addInterceptor(log_Interceptor *Interceptor) { | |||||||
|     G_LOGGER->interceptor = Interceptor; |     G_LOGGER->interceptor = Interceptor; | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description : 内置日志记录函数 |  | ||||||
|  */ |  | ||||||
| static void | static void | ||||||
| _builtin_log(char *level, const char *color, const char *message, ...) { | _builtin_log(char *level, const char *color, const char *message, ...) { | ||||||
|     if (G_LOGGER == NULL) { |     if (G_LOGGER == NULL) { | ||||||
| @@ -84,7 +67,6 @@ _builtin_log(char *level, const char *color, const char *message, ...) { | |||||||
|  |  | ||||||
|     log_Handler *handler = G_LOGGER->handler; |     log_Handler *handler = G_LOGGER->handler; | ||||||
|  |  | ||||||
|     // 通过拦截器 |  | ||||||
|     if (G_LOGGER->interceptor != NULL) { |     if (G_LOGGER->interceptor != NULL) { | ||||||
|         if (G_LOGGER->interceptor->_dispose(level, message)) { |         if (G_LOGGER->interceptor->_dispose(level, message)) { | ||||||
|             if (G_LOGGER->interceptor->handler != NULL) { |             if (G_LOGGER->interceptor->handler != NULL) { | ||||||
| @@ -93,7 +75,6 @@ _builtin_log(char *level, const char *color, const char *message, ...) { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // 判断处理器是否应用颜色 |  | ||||||
|     if (handler->apply_color) |     if (handler->apply_color) | ||||||
|         sprintf(logStr, |         sprintf(logStr, | ||||||
|                 "%s: %s %s%s%s %s\n", |                 "%s: %s %s%s%s %s\n", | ||||||
| @@ -110,7 +91,6 @@ _builtin_log(char *level, const char *color, const char *message, ...) { | |||||||
|     handler->output(handler, logStr); |     handler->output(handler, logStr); | ||||||
| } | } | ||||||
|  |  | ||||||
| //*************************记录日志******************************* */ |  | ||||||
| static void fatal(const char *message, ...) { | static void fatal(const char *message, ...) { | ||||||
|     if (G_LOGGER->level >= LOG_ERROR) { |     if (G_LOGGER->level >= LOG_ERROR) { | ||||||
|         char    logStr[LOG_BUFFER_SIZE]; |         char    logStr[LOG_BUFFER_SIZE]; | ||||||
| @@ -165,13 +145,7 @@ static void debug(const char *message, ...) { | |||||||
|         _builtin_log("Debug", CYAN, logStr, args); |         _builtin_log("Debug", CYAN, logStr, args); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| //*************************记录日志******************************* */ |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description :获取一个日志操作对象 |  | ||||||
|  * @param |  | ||||||
|  * @return |  | ||||||
|  */ |  | ||||||
| static Logger *getLogger(const char *name, log_level level) { | static Logger *getLogger(const char *name, log_level level) { | ||||||
|     if (G_LOGGER != NULL) { |     if (G_LOGGER != NULL) { | ||||||
|         G_LOGGER->name  = name; |         G_LOGGER->name  = name; | ||||||
| @@ -180,7 +154,7 @@ static Logger *getLogger(const char *name, log_level level) { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     Logger *logger         = (Logger *)malloc(sizeof(Logger)); |     Logger *logger         = (Logger *)malloc(sizeof(Logger)); | ||||||
|     // 方法 |  | ||||||
|     logger->fatal          = fatal; |     logger->fatal          = fatal; | ||||||
|     logger->error          = error; |     logger->error          = error; | ||||||
|     logger->warning        = warning; |     logger->warning        = warning; | ||||||
| @@ -190,7 +164,6 @@ static Logger *getLogger(const char *name, log_level level) { | |||||||
|     logger->addHandler     = addHandler; |     logger->addHandler     = addHandler; | ||||||
|     logger->addInterceptor = addInterceptor; |     logger->addInterceptor = addInterceptor; | ||||||
|  |  | ||||||
|     // 属性 |  | ||||||
|     logger->level          = level; |     logger->level          = level; | ||||||
|     logger->handler        = loggingConsoleHandler(); |     logger->handler        = loggingConsoleHandler(); | ||||||
|     logger->name           = name; |     logger->name           = name; | ||||||
| @@ -223,10 +196,6 @@ log_status destroyLogging(Logging *logging) { | |||||||
|     return L_OK; |     return L_OK; | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description :获取当前日志操作对象 |  | ||||||
|  * @return 当前唯一的日志操作对象 |  | ||||||
|  */ |  | ||||||
| Logger *getCurrentLogger(void) { | Logger *getCurrentLogger(void) { | ||||||
|     if (G_LOGGER == NULL) { |     if (G_LOGGER == NULL) { | ||||||
|         return NULL; |         return NULL; | ||||||
| @@ -234,10 +203,6 @@ Logger *getCurrentLogger(void) { | |||||||
|     return G_LOGGER; |     return G_LOGGER; | ||||||
| } | } | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * @description :创建一个日志对象 |  | ||||||
|  * @return :Logging* 返回一个日志对象 |  | ||||||
|  */ |  | ||||||
| Logging *newLogging() { | Logging *newLogging() { | ||||||
|     Logging *logging          = (Logging *)malloc(sizeof(Logging)); |     Logging *logging          = (Logging *)malloc(sizeof(Logging)); | ||||||
|     logging->getLogger        = getLogger; |     logging->getLogger        = getLogger; | ||||||
|   | |||||||
| @@ -6,15 +6,15 @@ int main() { | |||||||
|     Logger  *logger = log->getLogger("testLogger", LOG_DEBUG); |     Logger  *logger = log->getLogger("testLogger", LOG_DEBUG); | ||||||
|  |  | ||||||
|     logger->info("This is an info message"); |     logger->info("This is an info message"); | ||||||
|     logger->error("你好,这是一个错误消息%s", "123"); |     logger->error("This is an error message%s", "123"); | ||||||
|     logger->fatal("This is an fatal message"); |     logger->fatal("This is an fatal message"); | ||||||
|     logger->debug("This is a debug message"); |     logger->debug("This is a debug message"); | ||||||
|     logger->warning("This is a warning message%s", "123"); |     logger->warning("This is a warning message%s", "123"); | ||||||
|  |  | ||||||
|     char *test1[] = {"123", "你好"}; // 要拦截的字符串 |     char *test1[] = {"123", "tt"};  | ||||||
|     // 添加拦截器,将拦截到的日志重定向到拦截器的专属处理器中 |  | ||||||
|     log_Interceptor *tint = |     log_Interceptor *tint = | ||||||
|         loggingSubStringInterceptor(test1, 2, LOG_DEBUG, loggingFileHandler("被拦截")); |         loggingSubStringInterceptor(test1, 2, LOG_DEBUG, loggingFileHandler("test_interceptor")); | ||||||
|  |  | ||||||
|     logger->addInterceptor(tint); |     logger->addInterceptor(tint); | ||||||
|  |  | ||||||
| @@ -23,7 +23,7 @@ int main() { | |||||||
|     printf("\n"); |     printf("\n"); | ||||||
|  |  | ||||||
|     logger->info("This is an info message"); |     logger->info("This is an info message"); | ||||||
|     logger->error("你好,这是一个错误消息%s", "123"); |     logger->error("This is an error message%s", "123"); | ||||||
|     logger->fatal("This is an fatal message"); |     logger->fatal("This is an fatal message"); | ||||||
|     logger->debug("This is a debug message"); |     logger->debug("This is a debug message"); | ||||||
|     logger->warning("This is a warning message%s", "123"); |     logger->warning("This is a warning message%s", "123"); | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ int main() { | |||||||
|     Logger  *logger = log->getLogger("testLogger", LOG_DEBUG); |     Logger  *logger = log->getLogger("testLogger", LOG_DEBUG); | ||||||
|  |  | ||||||
|     logger->info("This is an info message"); |     logger->info("This is an info message"); | ||||||
|     logger->error("你好,这是一个错误消息%s", "123"); |     logger->error("This is an error message%s", "123"); | ||||||
|     logger->fatal("This is an fatal message"); |     logger->fatal("This is an fatal message"); | ||||||
|     logger->debug("This is a debug message"); |     logger->debug("This is a debug message"); | ||||||
|     logger->warning("This is a warning message%s", "123"); |     logger->warning("This is a warning message%s", "123"); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user