使用APIG专享版实现请求自定义信息打印到LTS日志流
应用场景
API网关支持将API的调用日志推送至LTS日志流,日志采用固定格式并预留自定义字段。用户可以通过自定义日志字段,将请求参数值(如请求头、查询参数、路径参数等)按需打印至日志中,实现请求自定义信息的灵活记录。
本实践指导用户自定义一个custom_data_log1字段,用于记录用户请求头中的user_id字段值,便于查看请求来源和用户身份信息。
约束与限制
- 自定义日志只支持打印由客户端发起的请求信息,不支持打印在APIG中定义的常量参数。
- 自定义日志最多可配置10个字段:custom_data_log1~custom_data_log10,且字段大小总和不得超过2KB。
前提条件
- 已创建一个API。如果未创建,请创建API。
- API网关的日志打印依赖于云日志服务(Log Tank Service,简称LTS),需要在LTS服务中先创建日志组和日志流,并且将APIG日志接入LTS。
- 创建一个日志组,具体操作请参考创建日志组章节。
- 创建一个日志流,具体操作请参考创建日志流章节。
- 将APIG日志接入LTS,具体操作请参考API网关APIG接入LTS章节。
在进行APIG日志接入LTS操作时,暂时不需要前往APIG页面配置日志组和日志流,请在日志接入完成后,按照以下流程配置。
操作流程

- 对接LTS的日志组和日志流
建立API网关与LTS之间的日志传输通道,确保API调用日志能够被正确投递到指定的日志存储位置。
- 开启自定义日志功能
启用API网关日志中的自定义字段功能,允许用户根据业务需求,选择性地将请求参数(如请求头、查询参数、路径参数等)打印到日志中,实现精细化的日志记录。
- 调用API并查看日志
验证自定义日志配置是否生效,通过实际调用API并查看LTS日志,确认自定义字段是否正确打印,从而实现请求参数的完整记录。
对接LTS的日志组和日志流
- 登录API网关控制台。
- 根据实际业务在左侧导航栏上方选择实例。
- 在左侧导航栏选择“监控分析 > 日志分析”。
- 在“日志分析”页签单击“日志与追踪配置”。
- 在弹窗中配置日志信息,完成后单击“确定”。
表1 日志信息参数配置 参数
配置说明
启动日志记录
启用API的调用日志。
日志组
选择已创建的日志组。
日志流
选择已创建的日志流。
开启自定义日志功能
- 在左侧导航栏中选择“实例管理”。
- 单击对应实例的名称或“查看控制台”,进入实例详情页面。
- 单击“配置参数”页签。
- 在“custom_log”参数所在行,单击“编辑”。
- 将开关由“off”变更为“on”,单击“保存”。
- 展开“custom_log”配置,单击“编辑”。
- 在弹窗中单击“添加”,然后选择需要打印到日志中的参数位置,以及填写需要打印的参数。
此处参数位置选择“header”,参数名称输入“user_id”。
- 单击“确定”。
调用API并查看日志
- 返回“实例管理”页面,在左侧导航栏中选择“API管理 > API列表”。
- 单击已创建的API名称,进入已创建的API详情页面。
- 在“API运行”页签中,单击“调试”,进入调试页面。
- 选择“Headers”页签,单击“新增请求参数”。
参数名为“user_id”,参数值为“123456”。
- 单击“调试”,响应结果中返回状态码“200”,表示调试成功,执行下一步。否则,请参考错误码章节处理。
- 返回“API列表”页面,在左侧导航栏中选择“监控分析 > 日志分析”。
- 在“日志搜索”页签中,查看日志。
custom_data_log1字段显示请求头user_id的值。
