s_log_safe开源log库

s_log_safe开源log库

s_log_safe库是一个采用MIT License协议开源的、小巧的、基于s_log(https://github.com/smallerxuan/s_log.git)开源库和s_ring_buffer(https://github.com/smallerxuan/s_ring_buffer.git)开源库打造的一款线程安全的嵌入式log库,纯C语言实现,移植、使用方便、快捷。在s_log原有的输出等级控制功能、log重定向功能、彩色log输出功能基础上还提供了多线程安全支持。

仓库地址:https://github.com/smallerxuan/s_log_safe.git

s_log_safe用户接口

s_log 包含如下用户接口:s_log_safe_init()、s_log_safe_deinit()、s_log_safe_output_pool_cap_get()、s_log_safe_output_pool_used_get()、s_log_safe_tag()、s_log_safe_a()、s_log_safe_v()、s_log_safe_e()、s_log_safe_w()、s_log_safe_t()、s_log_safe_i()、s_log_safe_d()、s_log_safe_out()。

s_log_safe配置、使用

s_log_safe中的 s_log_safe_cfg.h文件包含了用户的使用配置宏,主要包括:

1、s_log_safe使能 S_LOG_SAFE_ENABLE

2、s_log_safe色彩控制使能 S_LOG_SAFE_COLOR_OPEN

3、s_log_safe通过printf输出 S_LOG_SAFE_OUT_BY_PRINTF

4、s_log_safe输出单个缓冲最大字节数 S_LOG_SAFE_BUFF_LIMIT

5、s_log_safe 最大缓冲log条数 S_LOG_SAFE_POOL_LIMIT

6、s_log_safe空闲间隔时间(单位ms) S_LOG_SAFE_OUTPUT_IDLE_TIME

7、s_log_safe插入超时时间 S_LOG_SAFE_POOL_INSERT_TIME_LIMIT

8、s_log_safe取出超时时间 S_LOG_SAFE_POOL_REMOVE_TIME_LIMIT

9、s_log_safe输出级别控制 S_LOG_SAFE_OPT_LVL

10、s_log_safe 线程优先级 S_LOG_SAFE_THREAD_PRIORITY

11、s_log_safe 线程堆栈大小 S_LOG_SAFE_THREAD_STACK_SIZE

12、s_log_safe 线程名 S_LOG_SAFE_THREAD_NAME

在需要使用s_log_safe的文件、模块中包含头文件 s_log_safe.h,并通过s_log_safe_tag()接口定义一个tag,然后根据需要使用不同等级的log接口即可【先要通过s_log_safe_init()接口完成相关初始化】。

s_log_safe开源log库_第1张图片

 

你可能感兴趣的:(嵌入式,C语言,RTOS,log库,线程安全log库,log,s_log_safe,C语言log)