76 lines
2.2 KiB
ReStructuredText
76 lines
2.2 KiB
ReStructuredText
BFLOG
|
||
=============
|
||
|
||
简介
|
||
------------
|
||
|
||
- BFLOG 是一个移植简单,功能多样的多线程日志记录库
|
||
- 具有同步异步两种工作模式,异步模式如果缓冲区溢出会将最早的一条记录完整删除
|
||
- 总体三部分、记录器、定向输出、格式化器
|
||
- 一个记录器可多重定向输出,可同时输出到缓冲区、IO外设、文件、文件大小划分、文件时间划分
|
||
- 定向到文件输出,支持设定保留数量,支持按文件大小划分,支持按时间划分
|
||
- 每个定向输出可单独设定格式化器,输出等级,输出方式,颜色
|
||
- 格式化器支持简单格式、用户自定义格式、YAML格式(实现中)、CSV格式(规划中)
|
||
- 六级日志等级控制,FATAL、ERROR、WARNING、INFO、DEBUG、TRACE
|
||
- 支持等级、TAG标签、函数、行数、文件名、TICK数、TIME、线程信息输出
|
||
- 可对不需要的等级、功能、标签进行裁剪,缩小代码体积
|
||
|
||
.. figure:: img/bflog_log.png
|
||
:align: center
|
||
|
||
log 样式
|
||
|
||
配置BFLOG相关功能
|
||
-------------------
|
||
|
||
如果需要配置BFLOG的相关功能需要在对应的工程目录下 `proj.conf` 文件中添加对应的代码,举例如下:
|
||
|
||
.. note:: BFLOG 默认依赖 VLIBC 需要先启用 VLIBC。
|
||
如果需要支持文件输出,还需要启用Fatfs和 VLIBC的Fatfs接口支持
|
||
|
||
|
||
以下是一个不支持BFLOG文件输出的 `proj.conf` 配置
|
||
|
||
.. code-block:: cmake
|
||
:linenos:
|
||
|
||
# 使能VLIBC
|
||
set(CONFIG_VLIBC 1)
|
||
|
||
# 使能 BFLOG
|
||
set(CONFIG_BFLOG 1)
|
||
|
||
|
||
以下是一个支持BFLOG文件输出的 `proj.conf` 配置
|
||
|
||
.. code-block:: cmake
|
||
:linenos:
|
||
|
||
# 使能VLIBC
|
||
set(CONFIG_VLIBC 1)
|
||
# 使能VLIBC FATFS 文件接口
|
||
set(CONFIG_VLIBC_FATFS 1)
|
||
|
||
# 使能 BFLOG
|
||
set(CONFIG_BFLOG 1)
|
||
|
||
# 使能 Fatfs
|
||
set(CONFIG_FATFS 1)
|
||
|
||
# 使能 BSP_COMMON 文件夹中驱动支持
|
||
set(CONFIG_BSP_COMMON 1)
|
||
|
||
# 使能 SD卡
|
||
set(CONFIG_BSP_SDH_SDCARD 1)
|
||
|
||
# 使能 Fatfs 的 SD 卡接口
|
||
set(CONFIG_FATFS_SDH_SDCARD 1)
|
||
|
||
此外在 `proj.conf` 配置中添加以下配置可以使用用户的 **bflog_user.h** 配置文件,配置文件模板为 **bflog_default.h**
|
||
|
||
.. code-block:: cmake
|
||
:linenos:
|
||
|
||
# 使能 BFLOG_USER 配置文件
|
||
set(CONFIG_BFLOG_USER 1)
|