代码拉取完成,页面将自动刷新
ulog
日志记录库是一个精小的静态日志记录库。内部很多功能均由宏定义来实现。用户可以修改日志的级别用于过滤特定级别的日志。
ulog
支持5种日志记录级别,可在ulog.h
文件中修改LOG_CFG_LEVE
宏定义来定义日志的记录级别。
示例1:将
LOG_CFG_LEVE
配置为G_WARNG
级别,则只会显示G_WAGNG
和G_ERROR
两个级别的日志记录,其他的记录级别较低将不被显示 示例2:配置为G_NONE
级别将禁用日志记录功能
在ulog.h
文件中定义了LOG_FUN
宏,用户可以对其修改来改变日志的打印样式
// 定义打印样式
#define LOG_FUN(LEVESTR,format, ...) \
LOG_PRINTF("["LEVESTR"] <"__FILE__": %d"">: " format "\r\n",__LINE__,##__VA_ARGS__)
ASSERT_MSG(0, "test");
uLOG(G_DEBUG,"error:%d",123);
uLOG_MEM(G_DEBUG, randbuff, 125, "error:%d",586);
打印数据如下:
[G_DEBUG] <main.c: 16>: error:123
[G_DEBUG] <main.c: 17>: error:586
00000000: 29 23 BE 84 E1 6C D6 AE 52 90 49 F1 F1 BB E9 EB )#...l..R.I.....
00000010: B3 A6 DB 3C 87 0C 3E 99 24 5E 0D 1C 06 B7 47 DE ...<..>.$^....G.
00000020: B3 12 4D C8 43 BB 8B A6 1F 03 5A 7D 09 38 25 1F ..M.C.....Z}.8%.
00000030: 5D D4 CB FC 96 F5 45 3B 13 0D 89 0A 1C DB AE 32 ].....E;.......2
00000040: 20 9A 50 EE 40 78 36 FD 12 49 32 F6 9E 7D 49 DC .P.@x6..I2..}I.
00000050: AD 4F 14 F2 44 40 66 D0 6B C4 30 B7 32 3B A1 22 .O..D@f.k.0.2;."
00000060: F6 22 91 9D E1 8B 1F DA B0 CA 99 02 B9 72 9D 49 ."...........r.I
00000070: 2C 80 7E C5 99 D5 E9 80 B2 EA C9 CC 53 ,.~.........S
以上为程序的使用示例,说明如下:
ASSERT
相同,只不过多了个字符串参数,可以显示一些信息。该库编写时使用了一些C99特性,所以编译器必须支持C99标准。已经在VS2015和MDK5.0中测试,均可正常工作。
移植时必须定义LOG_PRINTF
宏到实际的打印函数,还必须定义LOG_PUT_CHAR
宏到实际的字符输出函数:
// 字符输出函数
#define LOG_PUT_CHAR(C) putchar(C)
// 日志记录接口
#define LOG_PRINTF(format, ...) printf(format, ##__VA_ARGS__)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。