main #7
							
								
								
									
										111
									
								
								README.en.md
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								README.en.md
									
									
									
									
									
								
							@@ -32,13 +32,11 @@ cmake --install .
 | 
				
			|||||||
#include "logging.h"
 | 
					#include "logging.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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_info("This is an info message");
 | 
					    Log_fatal("This is an fatal message");
 | 
				
			||||||
    log_error("This is an error message%s", "123");
 | 
					    Log_debug("This is a debug message");
 | 
				
			||||||
    log_fatal("This is an fatal message");
 | 
					    Log_warning("This is a warning message%s", "123");
 | 
				
			||||||
    log_debug("This is a debug message");
 | 
					 | 
				
			||||||
    log_warning("This is a warning message%s", "123");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    destroyDefaultLogger();
 | 
					    destroyDefaultLogger();
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
@@ -51,14 +49,14 @@ int main() {
 | 
				
			|||||||
#include "logging/logging-handler.h"
 | 
					#include "logging/logging-handler.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main() {
 | 
					int main() {
 | 
				
			||||||
    Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG);
 | 
					    log_Handler *hander = loggingHandlerFile("test_log", 1024 * 1024 * 10);
 | 
				
			||||||
    logger->addHandler(loggingHandlerFile("test1", 1024*1024));
 | 
					    addHandler(getDefaultLogger(), hander);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log_info("This is an info message");
 | 
					    Log_info("This is an info message");
 | 
				
			||||||
    log_error("This is an error message%s", "123");
 | 
					    Log_error("This is an error message%s", "123");
 | 
				
			||||||
    log_fatal("This is an fatal message");
 | 
					    Log_fatal("This is an fatal message");
 | 
				
			||||||
    log_debug("This is a debug message");
 | 
					    Log_debug("This is a debug message");
 | 
				
			||||||
    log_warning("This is a warning message%s", "123");
 | 
					    Log_warning("This is a warning message%s", "123");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    destroyDefaultLogger();
 | 
					    destroyDefaultLogger();
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
@@ -69,92 +67,51 @@ int main() {
 | 
				
			|||||||
> Support adding custom filters, currently with built-in substring filters
 | 
					> Support adding custom filters, currently with built-in substring filters
 | 
				
			||||||
> The function of an filter is to redirect filtered logs to the filter's dedicated processor
 | 
					> The function of an filter is to redirect filtered logs to the filter's dedicated processor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#### example
 | 
					 | 
				
			||||||
Redirects filtered logs to a dedicated file processor
 | 
					 | 
				
			||||||
```c
 | 
					 | 
				
			||||||
#include "logging.h"
 | 
					 | 
				
			||||||
#include <stdio.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    char *test1[]         = {"123", "tt", NULL};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    log_filter *tint = loggingFilterSubStr(
 | 
					 | 
				
			||||||
        test1,
 | 
					 | 
				
			||||||
        LOG_DEBUG,
 | 
					 | 
				
			||||||
        loggingHandlerFile("test_interceptor", 1024 * 1024),
 | 
					 | 
				
			||||||
        true);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    logger->addFilter(tint);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    printf("\n");
 | 
					 | 
				
			||||||
    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");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    destroyDefaultLogger();
 | 
					 | 
				
			||||||
    return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### Multiple substring filters
 | 
					#### Multiple substring filters
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#include "logging.h"
 | 
					#include "logging.h"
 | 
				
			||||||
 | 
					#include "logging/logging-core.h"
 | 
				
			||||||
 | 
					#include "logging/logging-filter.h"
 | 
				
			||||||
#include <stdbool.h>
 | 
					#include <stdbool.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <time.h>
 | 
					#include <time.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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");
 | 
					    char *test1[] = {"This", NULL};
 | 
				
			||||||
    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};
 | 
					    log_filter *tint =
 | 
				
			||||||
 | 
					        loggingFilterSubStr(test1,
 | 
				
			||||||
 | 
					                            LOG_DEBUG,
 | 
				
			||||||
 | 
					                            loggingHandlerFile("test_interceptor", 1024 * 1024),
 | 
				
			||||||
 | 
					                            false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log_filter *tint = loggingFilterSubStr(
 | 
					    addFilter(getDefaultLogger(), tint);
 | 
				
			||||||
        test1,
 | 
					 | 
				
			||||||
        LOG_DEBUG,
 | 
					 | 
				
			||||||
        loggingHandlerFile("test_interceptor", 1024 * 1024),
 | 
					 | 
				
			||||||
        false);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->addFilter(tint);
 | 
					    char *test2[]     = {"123", NULL};
 | 
				
			||||||
 | 
					 | 
				
			||||||
    char *test2[]         = {"123",NULL};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log_filter *tint1 = loggingFilterSubStr(
 | 
					    log_filter *tint1 = loggingFilterSubStr(
 | 
				
			||||||
        test2,
 | 
					        test2,
 | 
				
			||||||
        LOG_DEBUG,
 | 
					        LOG_ERROR,
 | 
				
			||||||
        loggingHandlerFile("test_interceptor1", 1024 * 1024),
 | 
					        loggingHandlerFile("test_interceptor1", 1024 * 1024),
 | 
				
			||||||
        true);
 | 
					        true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->addFilter(tint1);
 | 
					    addFilter(getDefaultLogger(), tint1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf("\n");
 | 
					    printf("\n");
 | 
				
			||||||
    printf("filter added\n");
 | 
					    printf("filter added\n");
 | 
				
			||||||
    printf("\n");
 | 
					    printf("\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log_info("This is an info message");
 | 
					    Log_info("This is an info message");
 | 
				
			||||||
    log_error("This is an error message%s", "123");
 | 
					    Log_error("This is an error message%s", "123");
 | 
				
			||||||
    log_fatal("This is an fatal message");
 | 
					    Log_fatal("This is an fatal message");
 | 
				
			||||||
    log_debug("This is a debug message");
 | 
					    Log_debug("This is a debug message");
 | 
				
			||||||
    log_warning("This is a warning message%s", "123");
 | 
					    Log_warning("This is a warning message%s", "123");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    destroyDefaultLogger();
 | 
					    destroyDefaultLogger();
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										71
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								README.md
									
									
									
									
									
								
							@@ -47,8 +47,6 @@ cmake --install .
 | 
				
			|||||||
#include "logging.h"
 | 
					#include "logging.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main() {
 | 
					int main() {
 | 
				
			||||||
    Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Log_info("This is an info message");
 | 
					    Log_info("This is an info message");
 | 
				
			||||||
    Log_error("This is an error message%s", "123");
 | 
					    Log_error("This is an error message%s", "123");
 | 
				
			||||||
    Log_fatal("This is an fatal message");
 | 
					    Log_fatal("This is an fatal message");
 | 
				
			||||||
@@ -66,8 +64,8 @@ int main() {
 | 
				
			|||||||
#include "logging/logging-handler.h"
 | 
					#include "logging/logging-handler.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main() {
 | 
					int main() {
 | 
				
			||||||
    Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG);
 | 
					    log_Handler *hander = loggingHandlerFile("test_log", 1024 * 1024 * 10);
 | 
				
			||||||
    logger->addHandler(loggingHandlerFile("test1", 1024*1024));
 | 
					    addHandler(getDefaultLogger(), hander);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Log_info("This is an info message");
 | 
					    Log_info("This is an info message");
 | 
				
			||||||
    Log_error("This is an error message%s", "123");
 | 
					    Log_error("This is an error message%s", "123");
 | 
				
			||||||
@@ -85,82 +83,41 @@ int main() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
> 过滤器的作用:可以将过滤到的日志重定向到过滤器的专属处理器中
 | 
					> 过滤器的作用:可以将过滤到的日志重定向到过滤器的专属处理器中
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 单个子串过滤器
 | 
					 | 
				
			||||||
将过滤到的日志重定向到专属处理器中
 | 
					 | 
				
			||||||
```c
 | 
					 | 
				
			||||||
#include "logging.h"
 | 
					 | 
				
			||||||
#include <stdio.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    char *test1[]         = {"123", "tt", NULL};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    log_filter *tint = loggingFilterSubStr(
 | 
					 | 
				
			||||||
        test1,
 | 
					 | 
				
			||||||
        LOG_DEBUG,
 | 
					 | 
				
			||||||
        loggingHandlerFile("test_interceptor", 1024 * 1024),
 | 
					 | 
				
			||||||
        true);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    logger->addFilter(tint);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    printf("\n");
 | 
					 | 
				
			||||||
    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");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    destroyDefaultLogger();
 | 
					 | 
				
			||||||
    return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 多个子串过滤器
 | 
					#### 多个子串过滤器
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#include "logging.h"
 | 
					#include "logging.h"
 | 
				
			||||||
 | 
					#include "logging/logging-core.h"
 | 
				
			||||||
 | 
					#include "logging/logging-filter.h"
 | 
				
			||||||
#include <stdbool.h>
 | 
					#include <stdbool.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
#include <time.h>
 | 
					#include <time.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main() {
 | 
					int main() {
 | 
				
			||||||
    Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Log_info("This is an info message");
 | 
					    Log_info("This is an info message");
 | 
				
			||||||
    Log_error("This is an error message%s", "123");
 | 
					    Log_error("This is an error message%s", "123");
 | 
				
			||||||
    Log_fatal("This is an fatal message");
 | 
					    Log_fatal("This is an fatal message");
 | 
				
			||||||
    Log_debug("This is a debug message");
 | 
					    Log_debug("This is a debug message");
 | 
				
			||||||
    Log_warning("This is a warning message%s", "123");
 | 
					    Log_warning("This is a warning message%s", "123");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    char *test1[]         = {"This",NULL};
 | 
					    char *test1[] = {"This", NULL};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log_filter *tint = loggingFilterSubStr(
 | 
					    log_filter *tint =
 | 
				
			||||||
        test1,
 | 
					        loggingFilterSubStr(test1,
 | 
				
			||||||
        LOG_DEBUG,
 | 
					                            LOG_DEBUG,
 | 
				
			||||||
        loggingHandlerFile("test_interceptor", 1024 * 1024),
 | 
					                            loggingHandlerFile("test_interceptor", 1024 * 1024),
 | 
				
			||||||
        false);
 | 
					                            false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->addFilter(tint);
 | 
					    addFilter(getDefaultLogger(), tint);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    char *test2[]         = {"123",NULL};
 | 
					    char *test2[]     = {"123", NULL};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    log_filter *tint1 = loggingFilterSubStr(
 | 
					    log_filter *tint1 = loggingFilterSubStr(
 | 
				
			||||||
        test2,
 | 
					        test2,
 | 
				
			||||||
        LOG_DEBUG,
 | 
					        LOG_ERROR,
 | 
				
			||||||
        loggingHandlerFile("test_interceptor1", 1024 * 1024),
 | 
					        loggingHandlerFile("test_interceptor1", 1024 * 1024),
 | 
				
			||||||
        true);
 | 
					        true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    logger->addFilter(tint1);
 | 
					    addFilter(getDefaultLogger(), tint1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    printf("\n");
 | 
					    printf("\n");
 | 
				
			||||||
    printf("filter added\n");
 | 
					    printf("filter added\n");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@ import os
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class loggingRecipe(ConanFile):
 | 
					class loggingRecipe(ConanFile):
 | 
				
			||||||
    name = "logging"
 | 
					    name = "logging"
 | 
				
			||||||
    version = "0.5.1"
 | 
					    version = "1.0.0"
 | 
				
			||||||
    license = "MIT"
 | 
					    license = "MIT"
 | 
				
			||||||
    author = "321640253@qq.com"
 | 
					    author = "321640253@qq.com"
 | 
				
			||||||
    url = "https://github.com/WangZhongDian/logging.git"
 | 
					    url = "https://github.com/WangZhongDian/logging.git"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
[project]
 | 
					[project]
 | 
				
			||||||
name = "logging"
 | 
					name = "logging"
 | 
				
			||||||
version = "0.1.0"
 | 
					version = "1.0.0"
 | 
				
			||||||
description = "Add your description here"
 | 
					description = "Add your description here"
 | 
				
			||||||
readme = "README.md"
 | 
					readme = "README.md"
 | 
				
			||||||
requires-python = ">=3.12"
 | 
					requires-python = ">=3.12"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user