Multiple substring interceptors (#13)

* #feat 增强Fatal级别的底色,修改logging类的方法

* 更新版本号

* 加入test脚本

* fix:conanfile

* test action

* 修复错别字

* add test on windows action

* fix test on windows action

* fix action on windows

* fix

* fix 内存分配错误

* fix msvc 不支持中文注释,删除中文注释

* test on windows and test  chinese char

* ersion 0.2.4

* feature:根据文件大小分割日志

* fix:内存泄露

* fix:使用char偏移单位

* add english brief

* 修改api函数名,加入Default关键字,减除歧义

* Multiple substring interceptors
This commit is contained in:
youmetme
2024-11-21 15:13:24 +08:00
committed by GitHub
parent f4494515ca
commit a4b4ad7452
8 changed files with 340 additions and 195 deletions

124
README.md
View File

@@ -22,31 +22,24 @@ conan create .
```shell
```
## 安装
- conan安装使用
```shell
conan create . --build=missing
```
- cmake安装使用
```shell
```
## 使用方法
![](docs/img/2024-09-21-11-44-25.png)
![](docs/img/2024-09-21-11-44-06.png)
### 控制台日志
```c
#include "logging.h"
int main() {
Logger *logger = newLogger("testLogger", LOG_DEBUG);
Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG);
logger->info("This is an info message");
logger->error("This is an error message%s", "123");
logger->fatal("This is an fatal message");
logger->debug("This is a debug message");
logger->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");
destroyLogger();
destroyDefaultLogger();
return 0;
}
```
@@ -57,16 +50,16 @@ int main() {
#include "logging/logging-handler.h"
int main() {
Logger *logger = newLogger("testLogger", LOG_DEBUG);
Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG);
logger->addHandler(loggingFileHandler("test1", 1024*1024));
logger->info("This is an info message");
logger->error("This is an error message%s", "123");
logger->fatal("This is an fatal message");
logger->debug("This is a debug message");
logger->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");
destroyLogger();
destroyDefaultLogger();
return 0;
}
```
@@ -77,28 +70,28 @@ int main() {
> 拦截器的作用:可以将拦截到的日志重定向到拦截器的专属处理器中
#### 例子
#### 单个子串拦截器
将拦截到的日志重定向到专属文件处理器中
```c
#include "logging.h"
#include <stdio.h>
int main() {
Logger *logger = newLogger("testLogger", LOG_DEBUG);
Logger *logger = newDefaultLogger("testLogger", LOG_DEBUG);
logger->info("This is an info message");
logger->error("This is an error message%s", "123");
logger->fatal("This is an fatal message");
logger->debug("This is a debug message");
logger->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"};
char *test1[] = {"123", "tt", NULL};
log_Interceptor *tint = loggingSubStringInterceptor(
test1,
2,
LOG_DEBUG,
loggingFileHandler("test_interceptor", 1024 * 1024));
loggingFileHandler("test_interceptor", 1024 * 1024),
true);
logger->addInterceptor(tint);
@@ -106,16 +99,65 @@ int main() {
printf("Interceptor added\n");
printf("\n");
logger->info("This is an info message");
logger->error("This is an error message%s", "123");
logger->fatal("This is an fatal message");
logger->debug("This is a debug message");
logger->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");
destroyLogger();
destroyDefaultLogger();
return 0;
}
```
#### 多个子串拦截器
```c
#include "logging.h"
#include <stdbool.h>
#include <stdio.h>
#include <time.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[] = {"This",NULL};
log_Interceptor *tint = loggingSubStringInterceptor(
test1,
LOG_DEBUG,
loggingFileHandler("test_interceptor", 1024 * 1024),
false);
logger->addInterceptor(tint);
char *test2[] = {"123",NULL};
log_Interceptor *tint1 = loggingSubStringInterceptor(
test2,
LOG_DEBUG,
loggingFileHandler("test_interceptor1", 1024 * 1024),
true);
logger->addInterceptor(tint1);
printf("\n");
printf("Interceptor 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;
}
```
![](docs/img/2024-09-21-11-44-25.png)
![](docs/img/2024-09-21-11-44-06.png)