思澈科技软件开发工具包  2.20
日志

SIFLI SDK使用RT-Thread的ulog作为日志(log)输出机制。作为简洁易用的日志输出组件,ulog支持

  • 不同级别的输出日志级别
  • 按模块进行输出
  • 线程安全并可以选择同步或异步的日志输出方式。
  • 配置输出格式
  • 配置不同的输出后端,可以是UART或者flash。

具体的设计架构及实现方式,可以参考ulog日志

ulog配置

ulog可以在menuconfig里面进行众多选项的配置,除了日志输出级别,同步异步等方式外,还可以自定义输出格式。

ulog使用示例

// Define module name for output level and format.
#define LOG_TAG "app"
// Define the module minimum output level as info
#define LOG_LVL LOG_LVL_INFO
void app_log_demo(void)
{
uing8_t hex_data = {0x01, 0x02, 0x03, 0x04, 0x05, ... ,0xFF};
// All logs are belongs to module 'app'
LOG_D("Debug log"); // Output debug level log, but it could not output due to module 'app' set the log level as info.
LOG_I("Info log"); // Output info level log
LOG_W("Warning log"); // Output warning level log
LOG_E("Error log"); // Output error level log
LOG_HEX("hex_data", 16, hex_data, sizeof(hex_data)); // Output hex data
}