XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_utils_log_config.h
浏览该文件的文档.
1
12#ifndef __XF_UTILS_LOG_CONFIG_H__
13#define __XF_UTILS_LOG_CONFIG_H__
14
15/* ==================== [Includes] ========================================== */
16
17#include "../xf_utils_internal_config.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23/* ==================== [Defines] =========================================== */
24
25#if !defined(XF_STDIO_ENABLE) || (XF_STDIO_ENABLE)
26# define XF_STDIO_IS_ENABLE (1)
27#else
28# define XF_STDIO_IS_ENABLE (0)
29#endif
30
31#if XF_STDIO_IS_ENABLE
32# include <stdio.h>
33#endif
34
35#if !defined(XF_LOG_DUMP_ENABLE) || (XF_LOG_DUMP_ENABLE)
36# define XF_LOG_DUMP_IS_ENABLE (1)
37#else
38# define XF_LOG_DUMP_IS_ENABLE (0)
39#endif
40
41#ifndef XF_LOG_LEVEL
42# define XF_LOG_LEVEL XF_LOG_INFO
43#endif
44
45#if (XF_LOG_LEVEL < 0) || (XF_LOG_LEVEL > 6)
46# error "log level must between 0 to 6"
47#endif
48
49// log 对接打印函数, 简化版对接。
50#if !defined(xf_log_printf)
51# define xf_log_printf(format, ...) printf(format, ##__VA_ARGS__)
52#endif
53
54// log 对接打印二进制的后端,默认使用xf_log_printf打印
55#if !defined(xf_log_dump_printf)
56# define xf_log_dump_printf(format, ...) xf_log_printf(format, ##__VA_ARGS__)
57#endif
58
59// log对接, 如果不独立对接xf_log_level,则会调用xf_log_printf实现
60#if !defined(xf_log_level) && defined(xf_log_printf)
61#define xf_log_level(level, tag, format, ...) xf_log_printf("%c-%s[:%d(%s)]: "format"\n", #level[7], tag, __LINE__, __FUNCTION__, ##__VA_ARGS__)
62#endif
63
64/* log优先使用xf_log_level作为自己的对接方式,如果没有则使用xf_log_printf*/
65
66/* ==================== [Typedefs] ========================================== */
67
68/* ==================== [Global Prototypes] ================================= */
69
70/* ==================== [Macros] ============================================ */
71
72#ifdef __cplusplus
73} /* extern "C" */
74#endif
75
76#endif // __XF_UTILS_LOG_CONFIG_H__