0%

撸了一个轻量级的C语言日志库

最近在写代码的时候,因为是一个全新的工程,也没有引入什么日志库,直接就printf输出调试了。

这个总归是有一点儿不雅,然后想到之前用的sysrepo这个开源库,他提供的那个日志功能挺简单的,支持向终端错误stderr输出日志,也支持向syslog输出日志,而且使用起来也比较简单,想着借鉴着写一个。

5月1日下午就着手整一个简单的C语言日志库出来,整体的功能逻辑跟sysrepo的log文件内容差不多,删掉了与sysrepo, libyang相关的依赖,然后通过前段时间刚学的cmake搭建起编译环境,编译生成一个动态库。
给这个库起了个简单的名字clog。

所有代码都放到了个人的gitee仓库中了,有需要的看官可以参考使用一下,有想法的话也可以一起来完善。

路径:https://gitee.com/fishmwei/clog

使用起来也很简单,只要初始化的时候设置一下日志的等级,后面就可以使用了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

#include <stdio.h>
#include <clog/log.h>

void main()
{
/* turn logging on */
clog_log_stderr(CLOG_LL_DBG);

#ifdef CLOG_SYSLOG
clog_log_syslog("test-log", CLOG_LL_WRN);
#endif

CLOG_LOG_WRN("This is warning message\r\n");
CLOG_LOG_DBG("This is debug message\r\n");
CLOG_LOG_INF("This is info message\r\n");
CLOG_LOG_ERR("This is error message\r\n");
}

使用效果图

avatar


行动,才不会被动!

欢迎关注个人公众号 微信 -> 搜索 -> fishmwei,沟通交流。

博客地址: https://fishmwei.github.io/

掘金主页: https://juejin.cn/user/2084329776486919