XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_log.h
浏览该文件的文档.
1
30#ifndef __XF_LOG_H__
31#define __XF_LOG_H__
32
33/* ==================== [Includes] ========================================== */
34
36
37#if XF_LOG_STDDEF_IS_ENABLE
38#include <stddef.h>
39#else
40typedef long unsigned int size_t;
41#endif
42
43#if XF_LOG_STDINT_IS_ENABLE
44#include <stdint.h>
45#else
46typedef unsigned int uint32_t;
47typedef unsigned char uint8_t;
48#endif
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54/* ==================== [Defines] =========================================== */
55
63#define XF_LOG_LVL_NONE (0)
64#define XF_LOG_LVL_USER (1)
65#define XF_LOG_LVL_ERROR (2)
66#define XF_LOG_LVL_WARN (3)
67#define XF_LOG_LVL_INFO (4)
68#define XF_LOG_LVL_DEBUG (5)
69#define XF_LOG_LVL_VERBOSE (6)
70
76/* ==================== [Typedefs] ========================================== */
77
92typedef void (*xf_log_out_t)(const char *str, size_t len, void *arg);
93
99typedef uint32_t (*xf_log_time_func_t)(void);
100
101/* ==================== [Global Prototypes] ================================= */
102
110int xf_log_register_obj(xf_log_out_t out_func, void *user_args);
111
124#if XF_LOG_FILTER_IS_ENABLE
125
131void xf_log_set_filter_enable(int log_obj_id);
132
138void xf_log_set_filter_disable(int log_obj_id);
139
145void xf_log_set_filter_colorful_enable(int log_obj_id);
146
152void xf_log_set_filter_colorful_disable(int log_obj_id);
153
159void xf_log_set_filter_is_blacklist(int log_obj_id);
160
166void xf_log_set_filter_is_whitelist(int log_obj_id);
167
174void xf_log_set_filter_tag(int log_obj_id, const char *tag);
175
182void xf_log_set_filter_level(int log_obj_id, uint8_t level);
183
190void xf_log_set_filter_file(int log_obj_id, const char *file);
191
192#endif
193
200void xf_log_set_info_level(int log_obj_id, uint8_t level);
201
207void xf_log_set_time_func(xf_log_time_func_t log_time_func);
208
221size_t xf_log(uint8_t level, const char *tag, const char *file, uint32_t line, const char *func, const char *fmt, ...);
222
230size_t xf_log_printf(const char *format, ...);
231
232/* ==================== [Macros] ============================================ */
233
234#define xf_log_level(level, tag, fmt, ...) xf_log(level, tag, __FILE__, __LINE__, __func__, fmt XF_LOG_NEWLINE, ##__VA_ARGS__)
235
241#ifdef __cplusplus
242} /* extern "C" */
243#endif
244
245#endif // __XF_LOG_H__
void xf_log_set_filter_enable(int log_obj_id)
启用过滤器
Definition xf_log.c:146
void xf_log_set_time_func(xf_log_time_func_t log_time_func)
设置log的时间戳打印函数
Definition xf_log.c:198
void xf_log_set_filter_disable(int log_obj_id)
禁用过滤器
Definition xf_log.c:151
size_t xf_log(uint8_t level, const char *tag, const char *file, uint32_t line, const char *func, const char *fmt,...)
log打印函数
Definition xf_log.c:203
void xf_log_set_filter_file(int log_obj_id, const char *file)
设置过滤器的文件过滤
Definition xf_log.c:186
void xf_log_set_info_level(int log_obj_id, uint8_t level)
显示文件函数等信息的最小等级
Definition xf_log.c:193
void xf_log_set_filter_is_whitelist(int log_obj_id)
设置过滤器为白名单(仅其内容将被暴露)
Definition xf_log.c:171
void xf_log_set_filter_level(int log_obj_id, uint8_t level)
设置过滤器的等级过滤
Definition xf_log.c:181
void xf_log_set_filter_colorful_disable(int log_obj_id)
关闭彩色显示
Definition xf_log.c:161
void xf_log_set_filter_tag(int log_obj_id, const char *tag)
设置过滤器的标签过滤
Definition xf_log.c:176
void xf_log_set_filter_colorful_enable(int log_obj_id)
开启彩色显示
Definition xf_log.c:156
void xf_log_set_filter_is_blacklist(int log_obj_id)
设置过滤器为黑名单(其内容将被过滤)
Definition xf_log.c:166
int xf_log_register_obj(xf_log_out_t out_func, void *user_args)
注册log后端是输出到哪里,其最大值受到 XF_LOG_OBJ_MAX 的限制
Definition xf_log.c:118
void(* xf_log_out_t)(const char *str, size_t len, void *arg)
log 输出后端原型。
Definition xf_log.h:92
uint32_t(* xf_log_time_func_t)(void)
log 时间戳原型。
Definition xf_log.h:99
#define xf_log_printf(format,...)