一、Easylogger 的相关文件解析
这些代码是 Easylogger(一款轻量级嵌入式日志库)的核心配置项(位于 elog_cfg.h 中),用于控制日志库的功能开关、输出级别、缓冲区大小等关键特性。下面逐一解释每个配置的作用:
1. 日志输出总开关
#define ELOG_OUTPUT_ENABLE
- 作用:定义此宏时,日志库会开启输出功能(日志能正常打印);如果注释掉(// #define ELOG_OUTPUT_ENABLE),所有日志输出会被禁用(节省资源,适合发布版本)。
- 场景:调试阶段保留,正式发布时可注释以关闭所有日志。
2. 静态日志输出级别
#define ELOG_OUTPUT_LVL ELOG_LVL_VERBOSE
- 作用:设置全局日志输出的最低级别,只有级别大于等于此值的日志才会被打印。
- 日志级别范围(从低到高,优先级递增):
ELOG_LVL_ASSERT:断言错误(最高优先级,通常用于致命错误)ELOG_LVL_ERROR:错误(如功能失败)ELOG_LVL_WARN:警告(如不影响运行但需注意的情况)ELOG_LVL_INFO:信息(如正常流程节点)ELOG_LVL_DEBUG:调试(如变量值、函数调用)ELOG_LVL_VERBOSE:详细信息(最冗余,如每步操作的细节)
- 示例:若设为
ELOG_LVL_INFO,则 INFO、WARN、ERROR、ASSERT 级别的日志会输出,DEBUG 和 VERBOSE 会被过滤。
3. 断言检查开关
#define ELOG_ASSERT_ENABLE
- 作用:定义此宏时,日志库会启用 elog_assert() 断言功能(类似 C 标准库的 assert()),当断言条件不满足时,会打印断言日志并触发错误处理(如程序终止)。
- 场景:调试阶段用于检查关键条件(如指针不为空、参数合法),发布版本可注释以关闭断言(减少资源消耗)。
4. 单条日志的缓冲区大小
#define ELOG_LINE_BUF_SIZE 1024
- 作用:设置每条日志在内存中临时存储的缓冲区大小(单位:字节)。
- 注意:
- 若单条日志内容过长(超过此值),会被截断(只保留前 1024 字节)。
- 数值越大,单条日志可容纳的内容越多,但会消耗更多 RAM(嵌入式系统需权衡)
5. 行号输出的最大长度
#define ELOG_LINE_NUM_MAX_LEN 5
- 作用:限制日志中输出的'代码行号'的最大字符长度(默认 5 位)。
- 示例:若代码行号是 12345,会完整输出;若行号是 123456(6 位),会被截断为 23456(只保留最后 5 位)。
- 目的:控制日志格式的整齐性,避免行号过长导致日志排版混乱。

