#将拦截器改名为过滤器,更加接近职能

This commit is contained in:
2024-11-23 08:08:21 +08:00
parent 9b777e4862
commit 1c09c41ea3
16 changed files with 166 additions and 160 deletions

View File

@@ -5,20 +5,20 @@
#include <stdbool.h>
#include "logging/logging-core.h"
#include "logging/logging-filter.h"
#include "logging/logging-handler.h"
#include "logging/logging-interceptor.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct Logger {
log_level level;
log_Handler *handler;
log_Interceptor *interceptor;
const char *name;
log_level level;
log_Handler *handler;
log_filter *filter;
const char *name;
bool (*addHandler)(log_Handler *handler);
bool (*addInterceptor)(log_Interceptor *Interceptor);
bool (*addFilter)(log_filter *filter);
} Logger;
void log_fatal(const char *format, ...);

View File

@@ -0,0 +1,41 @@
#ifndef __LOGGING_INTERCEPTOR_H__
#define __LOGGING_INTERCEPTOR_H__
#include "logging-core.h"
#include "logging-handler.h"
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct log_filter {
log_level level;
log_Handler *handler;
bool jump_out;
bool (*_dispose)(struct log_filter *filter,
log_level level,
const char *message,
...);
void (*_free)(struct log_filter *filter);
struct log_filter *next;
} log_filter;
/**
* @brief 子字符串过滤器
* @param keywords: 关键字数组
* @param count: 关键字数组长度
* @param level: 过滤截日志等级
* @param handler: 日志处理器,用于处理过滤下来的日志
* @return log_filter *
*/
log_filter *loggingFilterSubStr(char *keywords[],
log_level level,
log_Handler *handler,
bool jump_out);
#ifdef __cplusplus
}
#endif
#endif // __LOGGING_INTERCEPTOR_H__

View File

@@ -14,8 +14,20 @@ typedef struct log_Handler {
void (*output)(struct log_Handler *handler, const char *message);
} log_Handler;
log_Handler *loggingFileHandler(const char *name, unsigned int max_size);
log_Handler *loggingConsoleHandler();
/**
* @brief 文件处理器
* @param name 文件名
* @param max_size 文件最大大小
* @return
*/
log_Handler *loggingHandlerFile(const char *name, unsigned int max_size);
/**
* @brief 控制台处理器
* @param
* @return
*/
log_Handler *loggingHandlerConsole();
#ifdef __cplusplus
}

View File

@@ -1,49 +0,0 @@
#ifndef __LOGGING_INTERCEPTOR_H__
#define __LOGGING_INTERCEPTOR_H__
#include "logging-core.h"
#include "logging-handler.h"
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct log_Interceptor {
log_level level;
log_Handler *handler;
bool jump_out;
bool (*_dispose)(struct log_Interceptor *Interceptor,
log_level level,
const char *message,
...);
void (*_free)(struct log_Interceptor *Interceptor);
struct log_Interceptor *next;
} log_Interceptor;
/**
* @brief 子字符串拦截器
* @param keywords: 关键字数组
* @param count: 关键字数组长度
* @param level: 最低拦截日志等级
* @param handler: 日志处理器,用于处理拦截下来的日志
* @return log_Interceptor *
*/
log_Interceptor *loggingSubStringInterceptor(char *keywords[],
log_level level,
log_Handler *handler,
bool jump_out);
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
}
#endif
#endif // __LOGGING_INTERCEPTOR_H__