跳转至

日志模块

日志模块由客户端库 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 中查看。