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

View File

@@ -17,38 +17,35 @@ typedef struct Logger {
log_Handler *handler;
log_Interceptor *interceptor;
const char *name;
void (*fatal)(const char *format, ...);
void (*error)(const char *format, ...);
void (*warning)(const char *format, ...);
void (*info)(const char *format, ...);
void (*debug)(const char *format, ...);
bool (*addHandler)(log_Handler *handler);
bool (*addInterceptor)(log_Interceptor *Interceptor);
} 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, ...);
/**
* @brief 创建日志对象,日志对象为单例模式后续可通过getDefaultLogger方法获取
* @brief
创建默认日志对象,日志对象为单例模式后续可通过getDefaultLogger方法获取
重复调用该方法不会创建新的日志对象,只会返回默认日志对象,并且会修改默认日志对象的名称和等级
* @param name 日志名称
* @param level 日志等级
* @return Logger* 日志对象指针
*/
Logger *newLogger(const char *name, log_level level);
/**
* @brief 设置日志等级
* @param logger 日志对象
* @param level 日志等级
*/
log_status setLevel(Logger *logger, log_level level);
Logger *newDefaultLogger(const char *name, log_level level);
/**
* @brief 获取默认日志对象
*/
Logger *getDefaultLogger(void);
/**
* @brief 销毁日志对象,该方法会销毁默认日志对象
*/
log_status destroyLogger(void);
log_status destroyDefaultLogger(void);
#ifdef __cplusplus
}