极简系列|日志模块-clog

本文介绍了Clog,一个专为资源受限的嵌入式系统设计的轻量级日志库,仅400行代码,支持日志级别设置、多线程和文件大小配置。通过简单的接口实现高效日志管理,适合简化嵌入式开发中的调试和维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志作为应用程序调试和维护的基本手段被广泛使用,像是谷歌的glog,java领域的log4j,它们都是功能强大的大型日志中间件。可是,在特殊的领域,比如是嵌入式开发领域,由于资源的限制,可能不能直接应用这些“庞大大物”,这里要介绍的clog,十分适合资源受限的嵌入式系统,其由C语言开发,整个代码不到400行,但它的功能可以满足基本的开发需求。

clog基本属性:

  1. 支持日志级别设置(DEBUG|INFO|ERROR|FATAL)
  2. 支持多线程,是线程安全的。
  3. 日志输出路径可配置。
  4. 单个日志文件输出,并且日志是循环覆盖的。
  5. 日志大小可配置,默认为5M字节。

clog代码框架

在这里插入图片描述
没错就是这么简单,只需要将clog.c和clog.h放到目标应用开发工程里,就可以实现日志的输出管理了。

void clog_exit(void);
int  clog_init(char *path);
void clog_set_log_size(int max_size);
void clog_set_log_level(int log_level);
void clog_log(int level, const char *fmt, ...);

上面是clog的所有接口,典型的使用方式如下:

int main(void)
{
        printf("Hello, CLOG! :)\n");
        clog_init("./log");//初始化日志模块,设置日志输出文件
        clog_set_log_size(1 * 1024 * 1024);//设置日志文件的最大值
        clog_set_log_level(EM_LOG_ERROR);//设置日志输出等级

        clog_log(EM_LOG_ERROR, "CLOG ERROR.");
        clog_log(EM_LOG_INFO,  "CLOG INFO.");
        clog_log(EM_LOG_DEBUG, "CLOG DEBUG.");
        clog_exit();
}

没错,就是这么简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值