XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_utils_log.h
浏览该文件的文档.
1
12#ifndef __XF_UTILS_LOG_H__
13#define __XF_UTILS_LOG_H__
14
15/* ==================== [Includes] ========================================== */
16
17#include "xf_utils_log_config.h"
18#include "../xf_common/xf_common.h"
19
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33/* ==================== [Defines] =========================================== */
34
35#define XF_LOG_NONE (0)
36#define XF_LOG_USER (1)
37#define XF_LOG_ERROR (2)
38#define XF_LOG_WARN (3)
39#define XF_LOG_INFO (4)
40#define XF_LOG_DEBUG (5)
41#define XF_LOG_VERBOSE (6)
42
43#if XF_LOG_DUMP_IS_ENABLE
44
45#define XF_DUMP_HEAD_BIT (0)
46#define XF_DUMP_ASCII_BIT (1)
47#define XF_DUMP_ESCAPE_BIT (2)
48#define XF_DUMP_TAIL_BIT (3)
50#define XF_DUMP_BIT(nr) BIT(nr)
51
52#define XF_DUMP_TABLE (XF_DUMP_BIT(XF_DUMP_HEAD_BIT) | XF_DUMP_BIT(XF_DUMP_TAIL_BIT))
53
54/* 只输出 16 进制格式数据 */
55#define XF_DUMP_FLAG_HEX_ONLY (XF_DUMP_TABLE)
56/* 输出 16 进制格式数据并带有 ASCII 字符 */
57#define XF_DUMP_FLAG_HEX_ASCII (XF_DUMP_BIT(XF_DUMP_ASCII_BIT) | XF_DUMP_TABLE)
58/* 输出 16 进制格式数据、 ASCII 字符、转义字符,其余输出 16 进制原始值 */
59#define XF_DUMP_FLAG_HEX_ASCII_ESCAPE (XF_DUMP_FLAG_HEX_ASCII | XF_DUMP_BIT(XF_DUMP_ESCAPE_BIT))
60
61#endif /* XF_LOG_DUMP_IS_ENABLE */
62
63/* ==================== [Typedefs] ========================================== */
64
65/* ==================== [Global Prototypes] ================================= */
66
67#if XF_LOG_DUMP_IS_ENABLE
78xf_err_t xf_dump_mem(void *addr, size_t size, uint8_t flags_mask);
79#endif
80
81/* ==================== [Macros] ============================================ */
82
83#if XF_LOG_LEVEL >= XF_LOG_USER
92# define XF_LOGU(tag, format, ...) xf_log_level(XF_LOG_USER, tag, format, ##__VA_ARGS__)
93#else
94# define XF_LOGU(tag, format, ...) (void)(tag)
95#endif
96
97#if XF_LOG_LEVEL >= XF_LOG_ERROR
106# define XF_LOGE(tag, format, ...) xf_log_level(XF_LOG_ERROR, tag, format, ##__VA_ARGS__)
107#else
108# define XF_LOGE(tag, format, ...) (void)(tag)
109#endif
110
111#if XF_LOG_LEVEL >= XF_LOG_WARN
120# define XF_LOGW(tag, format, ...) xf_log_level(XF_LOG_WARN, tag, format, ##__VA_ARGS__)
121#else
122# define XF_LOGW(tag, format, ...) (void)(tag)
123#endif
124
125#if XF_LOG_LEVEL >= XF_LOG_INFO
134# define XF_LOGI(tag, format, ...) xf_log_level(XF_LOG_INFO, tag, format, ##__VA_ARGS__)
135#else
136# define XF_LOGI(tag, format, ...) (void)(tag)
137#endif
138
139#if XF_LOG_LEVEL >= XF_LOG_DEBUG
148# define XF_LOGD(tag, format, ...) xf_log_level(XF_LOG_DEBUG, tag, format, ##__VA_ARGS__)
149#else
150# define XF_LOGD(tag, format, ...) (void)(tag)
151#endif
152
153#if XF_LOG_LEVEL >= XF_LOG_VERBOSE
162# define XF_LOGV(tag, format, ...) xf_log_level(XF_LOG_VERBOSE, tag, format, ##__VA_ARGS__)
163#else
164# define XF_LOGV(tag, format, ...) (void)(tag)
165#endif
166
167#if XF_LOG_DUMP_IS_ENABLE
175#define XF_LOG_BUFFER_HEX(buffer, buffer_len) \
176 xf_dump_mem(buffer, buffer_len, XF_DUMP_FLAG_HEX_ONLY)
177
185#define XF_LOG_BUFFER_HEXDUMP(buffer, buffer_len) \
186 xf_dump_mem(buffer, buffer_len, XF_DUMP_FLAG_HEX_ASCII)
187
195#define XF_LOG_BUFFER_HEXDUMP_ESCAPE(buffer, buffer_len) \
196 xf_dump_mem(buffer, buffer_len, XF_DUMP_FLAG_HEX_ASCII_ESCAPE)
197
198#else
199
200#define XF_LOG_BUFFER_HEX(buffer, buffer_len)
201#define XF_LOG_BUFFER_HEXDUMP(buffer, buffer_len)
202#define XF_LOG_BUFFER_HEXDUMP_ESCAPE(buffer, buffer_len)
203
204#endif // XF_LOG_DUMP_IS_ENABLE
205
206#ifdef __cplusplus
207} /* extern "C" */
208#endif
209
215#endif // __XF_UTILS_LOG_H__
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
xf_err_t xf_dump_mem(void *addr, size_t size, uint8_t flags_mask)
输出内存信息。
xf_utils_log 配置。