---
title: 开发头文件使用示例
description: "- log.h和log.hdr中提供的日志接口，不得二次封装后再使用。"
url: https://www.hikunpeng.com/document/detail/zh/flexda/devguide/dpak_dev0019.html
sourcePath: /source/zh/flexda/devguide/dpak_dev0019.html
indexId: 58badba4d52c998230757a34615761bc1cac1b1c94273ee3a6dce402ca5bb68344
---
# 开发头文件使用示例

- log.h和log.hdr中提供的日志接口，不得二次封装后再使用。
- 日志内容不得传入空指针。
- 当需要进行日志打印时，Hydra源文件需要添加文件名的FILE_ID宏定义，并引用日志头文件。例如，名为fullnat_ovs.hdr源文件需添加fullnat_ovs_hdr的FILE_ID宏定义。
- 打印变量需使用0x%x格式，且变量个数不可超过4个。


- flexda_sdk/include/dsl/log.hdr：提供DSL代码日志打印接口声明，日志类型级别ERR、WARN、INFO、DEBUG。
- flexda_sdk/include/dfx/log.h：提供DSL代码日志打印接口定义。

#### 使用示例

例如创建的fullnat_ovs.hdr，示例如下。
```
#include "logfile_id_user_define.hdr"
#include "log.hdr"
#define FILE_ID fullnat_ovs_hdr
control MyPrePipe(in hdr_fix_headers hdr) {
apply {
USER_LOG(ERR, "XXX.\n");
bit<32> value1 = 1;
bit<32> value2 = 1;
USER_LOG(WARN, "XXX value1 0x%x value2 0x%x.\n", value1, value2);
}
}
```
