Compare commits
	
		
			1 Commits
		
	
	
		
			8e512563e4
			...
			v0.5.1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6ff484fef8 | 
							
								
								
									
										60
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								README.md
									
									
									
									
									
								
							| @@ -49,11 +49,11 @@ cmake --install . | ||||
| int main() { | ||||
|     Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     destroyDefaultLogger(); | ||||
|     return 0; | ||||
| @@ -69,11 +69,11 @@ int main() { | ||||
|     Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG); | ||||
|     logger->addHandler(loggingHandlerFile("test1", 1024*1024)); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     destroyDefaultLogger(); | ||||
|     return 0; | ||||
| @@ -95,11 +95,11 @@ int main() { | ||||
| int main() { | ||||
|     Logger  *logger = newDefaultLogger("testLogger", LOG_DEBUG); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     char *test1[]         = {"123", "tt", NULL}; | ||||
|  | ||||
| @@ -115,11 +115,11 @@ int main() { | ||||
|     printf("filter added\n"); | ||||
|     printf("\n"); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     destroyDefaultLogger(); | ||||
|     return 0; | ||||
| @@ -136,11 +136,11 @@ int main() { | ||||
| int main() { | ||||
|     Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     char *test1[]         = {"This",NULL}; | ||||
|  | ||||
| @@ -166,11 +166,11 @@ int main() { | ||||
|     printf("filter added\n"); | ||||
|     printf("\n"); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     destroyDefaultLogger(); | ||||
|     return 0; | ||||
|   | ||||
| @@ -5,7 +5,7 @@ import os | ||||
|  | ||||
| class loggingRecipe(ConanFile): | ||||
|     name = "logging" | ||||
|     version = "0.5.0" | ||||
|     version = "0.5.1" | ||||
|     license = "MIT" | ||||
|     author = "321640253@qq.com" | ||||
|     url = "https://github.com/WangZhongDian/logging.git" | ||||
|   | ||||
| @@ -12,6 +12,17 @@ | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| #define Log_fatal(format, ...)                                                 \ | ||||
|     log_fatal(__FILE__, __LINE__, format, ##__VA_ARGS__) | ||||
| #define Log_error(format, ...)                                                 \ | ||||
|     log_error(__FILE__, __LINE__, format, ##__VA_ARGS__) | ||||
| #define Log_warning(format, ...)                                               \ | ||||
|     log_warning(__FILE__, __LINE__, format, ##__VA_ARGS__) | ||||
| #define Log_info(format, ...)                                                  \ | ||||
|     log_info(__FILE__, __LINE__, format, ##__VA_ARGS__) | ||||
| #define Log_debug(format, ...)                                                 \ | ||||
|     log_debug(__FILE__, __LINE__, format, ##__VA_ARGS__) | ||||
|  | ||||
| typedef struct Logger { | ||||
|     log_level    level; | ||||
|     log_Handler *handler; | ||||
| @@ -21,11 +32,11 @@ typedef struct Logger { | ||||
|     bool (*addFilter)(log_filter *filter); | ||||
| } Logger; | ||||
|  | ||||
| void log_fatal(const char *format, ...); | ||||
| void log_error(const char *format, ...); | ||||
| void log_warning(const char *format, ...); | ||||
| void log_info(const char *format, ...); | ||||
| void log_debug(const char *format, ...); | ||||
| void log_fatal(const char *file, int line, const char *format, ...); | ||||
| void log_error(const char *file, int line, const char *format, ...); | ||||
| void log_warning(const char *file, int line, const char *format, ...); | ||||
| void log_info(const char *file, int line, const char *format, ...); | ||||
| void log_debug(const char *file, int line, const char *format, ...); | ||||
|  | ||||
| /** | ||||
| * @brief | ||||
|   | ||||
| @@ -16,7 +16,7 @@ | ||||
| #define RESET  "\033[0m" | ||||
| #define CYAN   "\033[0;36m" | ||||
|  | ||||
| #define LOG_BUFFER_SIZE 1024 // 日志缓冲区大小,单个日志长度不能超过该值 | ||||
| #define LOG_BUFFER_SIZE 4096 // 日志缓冲区大小,单个日志长度不能超过该值 | ||||
|  | ||||
| static Logger *G_LOGGER = NULL; // 全局日志对象,唯一实例 | ||||
|  | ||||
| @@ -75,23 +75,25 @@ static void output_to_handler(log_Handler *handler, | ||||
|                               const char  *message) { | ||||
|     char timeStr[20]; | ||||
|     getTimeStr(timeStr); | ||||
|     char logStr[LOG_BUFFER_SIZE]; | ||||
|     char logStr[LOG_BUFFER_SIZE * 2]; | ||||
|     if (handler->apply_color) | ||||
|         sprintf(logStr, | ||||
|                 "[%s]: %s %s%s%s %s\n", | ||||
|                 G_LOGGER->name, | ||||
|                 timeStr, | ||||
|                 color, | ||||
|                 level, | ||||
|                 RESET, | ||||
|                 message); | ||||
|         snprintf(logStr, | ||||
|                  LOG_BUFFER_SIZE * 2, | ||||
|                  "[%s]: %s %s%s%s %s\n", | ||||
|                  G_LOGGER->name, | ||||
|                  timeStr, | ||||
|                  color, | ||||
|                  level, | ||||
|                  RESET, | ||||
|                  message); | ||||
|     else | ||||
|         sprintf(logStr, | ||||
|                 "[%s]: %s %s %s\n", | ||||
|                 G_LOGGER->name, | ||||
|                 timeStr, | ||||
|                 level, | ||||
|                 message); | ||||
|         snprintf(logStr, | ||||
|                  LOG_BUFFER_SIZE * 2, | ||||
|                  "[%s]: %s %s %s\n", | ||||
|                  G_LOGGER->name, | ||||
|                  timeStr, | ||||
|                  level, | ||||
|                  message); | ||||
|  | ||||
|     handler->output(handler, logStr); | ||||
| } | ||||
| @@ -129,58 +131,73 @@ static void _builtin_cope(log_level   level_e, | ||||
|     output_to_handler(handler, level, color, message); | ||||
| } | ||||
|  | ||||
| void log_fatal(const char *message, ...) { | ||||
| void log_fatal(const char *file, int line, const char *message, ...) { | ||||
|     if (G_LOGGER->level >= LOG_ERROR) { | ||||
|         char    logStr[LOG_BUFFER_SIZE]; | ||||
|         char    finalLogStr[LOG_BUFFER_SIZE * 2]; | ||||
|         va_list args; | ||||
|         va_start(args, message); | ||||
|         vsprintf(logStr, message, args); | ||||
|         va_end(args); | ||||
|         _builtin_cope(LOG_FATAL, "Fatal", RED_B, logStr); | ||||
|         snprintf( | ||||
|             finalLogStr, LOG_BUFFER_SIZE * 2, "[%s:%d] %s", file, line, logStr); | ||||
|         _builtin_cope(LOG_FATAL, "Fatal", RED_B, finalLogStr); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void log_error(const char *message, ...) { | ||||
| void log_error(const char *file, int line, const char *message, ...) { | ||||
|     if (G_LOGGER->level >= LOG_ERROR) { | ||||
|         char    logStr[LOG_BUFFER_SIZE]; | ||||
|         char    finalLogStr[LOG_BUFFER_SIZE * 2]; | ||||
|         va_list args; | ||||
|         va_start(args, message); | ||||
|         vsprintf(logStr, message, args); | ||||
|         va_end(args); | ||||
|         _builtin_cope(LOG_ERROR, "Error", RED, logStr); | ||||
|         snprintf( | ||||
|             finalLogStr, LOG_BUFFER_SIZE * 2, "[%s:%d] %s", file, line, logStr); | ||||
|         _builtin_cope(LOG_ERROR, "Error", RED, finalLogStr); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void log_warning(const char *message, ...) { | ||||
| void log_warning(const char *file, int line, const char *message, ...) { | ||||
|     if (G_LOGGER->level >= LOG_WARNING) { | ||||
|         char    logStr[LOG_BUFFER_SIZE]; | ||||
|         char    finalLogStr[LOG_BUFFER_SIZE * 2]; | ||||
|         va_list args; | ||||
|         va_start(args, message); | ||||
|         vsprintf(logStr, message, args); | ||||
|         va_end(args); | ||||
|         _builtin_cope(LOG_WARNING, "Warning", YELLOW, logStr); | ||||
|         snprintf( | ||||
|             finalLogStr, LOG_BUFFER_SIZE * 2, "[%s:%d] %s", file, line, logStr); | ||||
|         _builtin_cope(LOG_WARNING, "Warning", YELLOW, finalLogStr); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void log_info(const char *message, ...) { | ||||
| void log_info(const char *file, int line, const char *message, ...) { | ||||
|     if (G_LOGGER->level >= LOG_INFO) { | ||||
|         char    logStr[LOG_BUFFER_SIZE]; | ||||
|         char    finalLogStr[LOG_BUFFER_SIZE * 2]; | ||||
|         va_list args; | ||||
|         va_start(args, message); | ||||
|         vsprintf(logStr, message, args); | ||||
|         va_end(args); | ||||
|         _builtin_cope(LOG_INFO, "Info", GREEN, logStr); | ||||
|         snprintf( | ||||
|             finalLogStr, LOG_BUFFER_SIZE * 2, "[%s:%d] %s", file, line, logStr); | ||||
|         _builtin_cope(LOG_INFO, "Info", GREEN, finalLogStr); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void log_debug(const char *message, ...) { | ||||
| void log_debug(const char *file, int line, const char *message, ...) { | ||||
|     if (G_LOGGER->level >= LOG_DEBUG) { | ||||
|         char    logStr[LOG_BUFFER_SIZE]; | ||||
|         char    finalLogStr[LOG_BUFFER_SIZE * 2]; | ||||
|         va_list args; | ||||
|         va_start(args, message); | ||||
|         vsprintf(logStr, message, args); | ||||
|         va_end(args); | ||||
|         _builtin_cope(LOG_DEBUG, "Debug", CYAN, logStr); | ||||
|         snprintf( | ||||
|             finalLogStr, LOG_BUFFER_SIZE * 2, "[%s:%d] %s", file, line, logStr); | ||||
|         _builtin_cope(LOG_DEBUG, "Debug", CYAN, finalLogStr); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -8,11 +8,11 @@ | ||||
| int main() { | ||||
|     Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     char *test1[] = {"This", NULL}; | ||||
|  | ||||
| @@ -38,11 +38,11 @@ int main() { | ||||
|     printf("filter added\n"); | ||||
|     printf("\n"); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     destroyDefaultLogger(); | ||||
|     return 0; | ||||
|   | ||||
| @@ -6,11 +6,11 @@ int main() { | ||||
|     log_Handler *hander = loggingHandlerFile("test_log", 1024 * 1024 * 10); | ||||
|     logger->addHandler(hander); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     destroyDefaultLogger(); | ||||
|     return 0; | ||||
|   | ||||
| @@ -3,11 +3,11 @@ | ||||
| int main() { | ||||
|     Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG); | ||||
|  | ||||
|     log_info("This is an info message"); | ||||
|     log_error("This is an error message%s", "123"); | ||||
|     log_fatal("This is an fatal message"); | ||||
|     log_debug("This is a debug message"); | ||||
|     log_warning("This is a warning message%s", "123"); | ||||
|     Log_info("This is an info message"); | ||||
|     Log_error("This is an error message%s", "123"); | ||||
|     Log_fatal("This is an fatal message"); | ||||
|     Log_debug("This is a debug message"); | ||||
|     Log_warning("This is a warning message%s", "123"); | ||||
|  | ||||
|     destroyDefaultLogger(); | ||||
|     return 0; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user