alog一个日志库

守听  金牌会员 | 2023-9-30 08:51:33 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 898|帖子 898|积分 2694

alog


brief  功能介绍:

alog是一个非常精简的串口输出日志组件,
类似easyloger,但是比easyloger更简单易用,
只有2个实际不到百行的文件,实现了基本日志所需的全部功能。
需移植配置的接口选项少,实现了串口输出字符串就可以用了,没有C库以外的其他依赖。
没有存储日志相关的扩展的API,适合新手使用理解和在资源紧张的单片机上移植使用
特色



  • 支持可裁剪的格式输出功能
  • 预留互斥锁的调用宏定义
  • 支持自定义log过滤的等级
  • 支持显示报错所在文件和行数
  • 预留RTC功能的宏定义支持输出报错和警告的rtc时间
注意!!!

推荐在支持颜色码的串口终端查看输出的日志,否则普通串口助手收到的颜色码可能就是乱码
例如:mobaxterm 、xshell 等
源码结构

@version 当前版本:0.1



+---doc 文档

+---example 例子

|   ---port 移植好的例程

|       +---ATK_stm32F407_HAL_example_5_uart 正点原子F407HAL库串口例程

|       |  

|       +---ATK_stm32F407_RES_example_5_uart 正点原子F407寄存器串口例程

|       |

|       +---ATK_stm32F407_STD_example_4_uart 正点原子F407标准库串口例程

|       |  

|       ---PY32F002A_uart

+---inc 头文件

|       alog.h

---src 源文件

alog.c

移植教程

可参考已经移植好的工程
和源码对配置项的解释
来移植到你使用的单片机平台
步骤就是

  • 首先把alog.h加入头文件路径目录
  • 然后把alog.c加入工程
  • 把alog.h注释掉的的宏定义//#deine LOG_PORT_UART_INIT

    换为#deine LOG_PORT_UART_INIT (你实现的对应的串口初始化函数)
  • 把alog.h注释掉的的宏定义//#deine LOG_PORT_UART_PUTS

    换为#deine LOG_PORT_UART_PUTS (你实现的对应的串口输出字符串的puts函数)
其他功能,例如互斥锁和RTC时间戳功能,可选择性实现。

如果你对互斥锁没有概念,那么只需保证在裸机下让日志阻塞输出,既不在中断中直接输出即可。

如果你已经会用rtc功能,那么使用sprintf来实现一个返回rtc时间戳字符串的函数替换alog.h的#define LOG_RTC_STRING即可

开源地址

GLPv2开源协议

gitee开源地址:https://gitee.com/nikolan/alog.git

author 作者: ageek_nikola  

邮箱:(2503865771@qq.com)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表