其中fp为文件指针,__DATE__等为编译器保留宏定义,可作为debug的重要依据。 2. 使用类库,如log4c: 关于log4c的使用可以参考我的这篇文章。
int main() { log_msg("INFO", __FILE__, __LINE__, "程序开始运行"); // 你的代码逻辑... log_msg("INFO", __FILE__, __LINE__, "程序结束运行"); return 0; } 在这个示例中,我们定义了一个名为log_msg的函数,它接受以下参数: log_level:日志级别,如"INFO"、"ERROR"等。 file:当前...
模拟log日志的写入。 调用write_log(pFile, format, ...);方法,即可写入日志,默认在行首加入时间显示。 代码如下:log.c #include <stdio.h>#include<stdarg.h>#includeintwrite_log (FILE* pFile,constchar*format, ...) { va_list arg;intdone; va_start (arg, format);//done = vfprintf (stdout, ...
intmain(void) { Log(DEBUG,"this is debug %d-%x-%.2f",100,200,1.234); Log(INFO,"this is info %d-%x-%.2f",100,200,1.234); Log(ERROR,"this is error %d-%x-%.2f",100,200,1.234); Log(WARN,"this is warn %d-%x-%.2f",100,200,1.234); return0; } 1. 2. 3. 4. 5. 6....
对于嵌入式底层应用开发,基本离不开日志功能,今天一个开源的 log.c 代码,简单到了开箱即用的级别。 log.c 是什么? https://github.com/rxi/log.c 简单地说,log.c 就是一个 C 语言的日志功能模块。 点击查看大图log.c 的几个特点:代码简洁,就一个 .c 和 .h 文件,一共 200 行。设计优雅,打印日志的...
EasyLogger 是一款超轻量级(ROM<1.6K, RAM<0.3K)、高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目,例如:IoT 产品、可穿戴设备、智能家居等等。相比 log4c、zlog 这些知名的 C/C++ 日志库, EasyLogger 的功能更加简单,提供给用户的接口更少,但上手会很快,更多实用功能支持以插件形式进行动态扩展。 1.1 主...
简介:嵌入式linux下的c语言日志log模块,功能增强(二) 日志是应用的镜子,可以发现应用中的问题,重要性不言而喻。 打造一智能日志模块,让运维朝着自动化方向大步迈进。提高效率,降低成本,这也是一种创造利润的途径。 如今网络越来越方便,这个日志组件除了常规的记录日志外,可以对日志分等级显示不同的颜色,支持按日期...
https://github.com/rxi/log.c 简单地说,log.c 就是一个 C 语言的日志功能模块。 点击查看大图 log.c 的几个特点: 代码简洁,就一个 .c 和 .h 文件,一共 200 行。 设计优雅,打印日志的 API 只有 1 个。 提供了将 log 输入到不同目标的接口,例如输入到文件。
一个log.c文件和一个log.h文件 使用时包含log.h文件即可。暂时支持四个级别和红绿黄蓝四种颜色,若要增加或扩展,自行更改。 不支持存储日志到文件,以及对日志文件的按日期,按大小等的切割,如有需要,可自行扩展。 计划增加以下内容: 1.增加是否启用日志输出到文件开关,可以选择把日志保存到文件中(写文件属于耗时操...
日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录,他有很多移植版(包括官方的和非官方的版本) 1.1log4cxx 地址http://logging.apache.org/log4cxx/ Log4cxx是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提...