---
title: flexda_log
description: "打印日志。"
url: https://www.hikunpeng.com/document/detail/zh/flexda/api/dpak_api019.html
sourcePath: /source/zh/flexda/api/dpak_api019.html
indexId: ed10f7e966e58826c7559000af4fae3a952f51939477292b7703e57d447a4b9338
---
# flexda_log

#### 接口功能

打印日志。


#### 接口格式

int flexda_log(uint32_t level, uint32_t module_id, const char *format, ...);


#### 参数说明

| 参数名 | 参数类型 | 入参/出参 | 说明 |
| --- | --- | --- | --- |
| level | uint32\_t | 入参 | 支持的日志级别。 4：ERR 5：WARNING 7：INFO |
| module\_id | uint32\_t | 入参 | 日志模块的ID。 |
| format | const char \* | 入参 | 打印字符串。 |
| ... | ... | 入参 | 可变参数，格式化打印的值。 |
| 函数返回值 | int | 出参 | 若函数执行成功则返回0，若函数执行失败则返回错误码。 |


日志模块必须为注册成功模块，否则返回错误值并打印错误日志。


#### 使用实例

函数指针调用。

```
// 存在正确初始化的全局libapi库g_api
flexda_custom_api_t g_api;
uint32_t g_test_log_module[7] = {};
int ret = flexda_log_register("TEST");
if (ret >= 0) {
g_test_log_module[0] = ret;
}
// 直接调用全局libapi库中的日志函数
g_api.flexda_log(4, g_test_log_module[0], "This is an err log.\n");
g_api.flexda_log(FLEXDA_LOG_WARNING, g_test_log_module[0], "This is a warning(macro level) log.\n");
g_api.flexda_log(FLEXDA_LOG_ERR, g_test_log_module[0], "This is a err log with variable var = 0x%x.\n", var);
// 使用libapi.h中提供的宏函数
flexda_log(ERR, g_test_log_module[0], "This is err log string.\n");
flexda_log(INFO, g_test_log_module[0], "This is a info log with variable var = 0x%x.\n", var);
```
