[MM32软件]【灵动微电子MM32F5330测评】03 移植easylogger

一、easylogger 是什么?
easylogger是一款超轻量级(ROM<1.6K, RAM<0.3K)、高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目,例如: IoT 产品、可穿戴设备、智能家居等等。相比 log4c、zlog 这些知名的 C/C++ 日志库, EasyLogger 的功能更加简单,提供给用户的接口更少,但上手会很快,更多实用功能支持以插件形式进行动态扩展。
最主要的特点有以下:
1、支持标签;可以给每个模块分配一个标签,那么每个模块的LOG标签就会不一样;
2、支持LOG等级,比如,error,debug,warn,info等,这个可以只打印错误信息或者调试信息;
3、支持LOG过滤,比如可以按标签过滤,只打印某一个模块的功能,也可以按等级过滤,只打印ERROR信息,而且还可以按过滤关键字。
二、移植EASYLOGGER
1、下载代码
下载链接如下:
EasyLogger: 一款超轻量级(ROM<1.6K, RAM<0.3k)、高性能的 C/C++ 日志库 (gitee.com)
点击链接,点击克隆/下载,在如下界面点击下载ZIP或者使用git下载。
 


2、新建文件
在上一次LED工程目录下,新建EASYLOGGER,如图所示,复制如图相关文件。
 


3、在KEIL中添加.c和.h文件
 

 


4、修改easylogger相关接口
1)修改打印函数

复制
void elog_port_output(const char *log, size_t size) {



    /* add your code here */

    char buf[ELOG_LINE_BUF_SIZE];

    memcpy(buf,log,size);

    UsartSendStrings((uint8_t *)buf,size);

    //printf("%.*s", size, log);

}

2)配置相关参数
 


3)编写easylogger相关配置函数

复制
void elog_config(void) {

    //初始化elog   初始化的 EasyLogger 的核心功能,初始化后才可以使用下面的API

    elog_init();

    //日志颜色功能是将各个级别日志按照颜色进行区分,默认颜色功能是关闭

    //true: 使能,false: 失能

    elog_set_text_color_enabled(false);



    /* 设置每个级别的日志输出格*/

    elog_set_fmt(ELOG_LVL_ASSERT, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_LINE | ELOG_FMT_TIME);

    elog_set_fmt(ELOG_LVL_ERROR, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_LINE | ELOG_FMT_TIME);

    elog_set_fmt(ELOG_LVL_WARN, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_LINE | ELOG_FMT_TIME);

    elog_set_fmt(ELOG_LVL_INFO, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_LINE | ELOG_FMT_TIME);

    elog_set_fmt(ELOG_LVL_DEBUG, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_LINE | ELOG_FMT_TIME);

    elog_set_fmt(ELOG_LVL_VERBOSE, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_LINE | ELOG_FMT_TIME);



    elog_set_filter_lvl(ELOG_LVL_ERROR);//设置输出等级为错误

    //启动elog  在初始化完成后,必须调用启动方法,日志才会被输出

    elog_start();

}



4)测试LOG代码

复制
void test_elog(void) {

    /* test log output for all level */

    log_a("Hello EasyLogger!");

    log_e("Hello EasyLogger!");

    log_w("Hello EasyLogger!");

    log_i("Hello EasyLogger!");

    log_d("Hello EasyLogger!");

    log_v("Hello EasyLogger!");

//    elog_raw("Hello EasyLogger!");

}

三、下载验证
输出LOG如图。
 


好了,这篇测评就到这了。
---------------------
作者:怀揣少年梦
链接:https://bbs.21ic.com/icview-3394080-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值