日志模块¶
日志模块由客户端库 tbox_log 和守护进程 tbox_logd 组成。客户端将格式化文本或二进制数据通过 Unix
socket 发送给守护进程,守护进程按日志 ID、级别和属性配置完成过滤、落盘与轮转。
应用
│ tbox_log_*()
▼
libtbox_log ── Unix socket ──► tbox_logd ──► 分类日志文件
│
└──────► Property 配置
使用¶
#include <tbox/log.h>
if (tbox_log_init() == 0)
{
tbox_log_write(TBOX_LOG_LEVEL_INFO, "service started");
tbox_log_deinit();
}
默认日志 ID 为 TBOX_LOG_DEFAULT_ID。需要区分日志类别时,调用 tbox_log_set_id() 设置当前客户端默认
ID,或者使用带 _id 后缀的写入接口。
主要约束¶
- 调用写入接口前必须完成
tbox_log_init()。 tbox_log_deinit()用于进程退出阶段释放客户端传输资源。TBOX_LOG_ID_MCU只接受原始日志,不接受 hex 日志。- 日志级别、加密开关、文件位置和轮转参数由 Property 配置驱动。
函数、类型和返回值详见 TBOX_LOG API;协议、传输和后端接口可在完整 API 中查看。