如何修改API Gateway执行日志默认命名格式使其更友好?
如何自定义API Gateway执行日志的名称
当然可以!你完全可以把API Gateway执行日志里那个乱糟糟的随机服务标识改成更易读的名字,不用受限于默认的API-Gateway-Execution-Logs_<随机字符串>/<阶段名>格式。下面是具体的操作方法:
通过AWS控制台配置
- 打开AWS API Gateway控制台,找到你要修改的API。
- 切换到Stages标签页,选中目标阶段(比如
prod或者dev)。 - 点击页面上方的Logs/Tracing标签。
- 在CloudWatch Logs区域找到Log Group输入框:
- 默认显示的是自动生成的带随机标识的日志组名,点击输入框旁的编辑按钮。
- 输入你想要的易读名称,比如
User-Service-Execution-Logs/prod或者Order-API-Logs/dev。
- 确认Enable CloudWatch Logs已经勾选(如果还没开启日志功能的话),然后点击Save Changes完成配置。
通过AWS CLI配置
如果习惯用命令行操作,可以用update-stage命令来修改日志组配置,示例命令如下:
aws apigateway update-stage \ --rest-api-id 你的API唯一ID \ --stage-name 目标阶段名称 \ --patch-operations op=replace,path=/accessLogSettings/destinationArn,value=arn:aws:logs:你的AWS区域:你的账号ID:log-group:你的自定义日志组名称:*
替换说明:
你的API唯一ID: 可以在API控制台的概览页面找到目标阶段名称: 比如prod、test这类你设置的阶段名你的AWS区域: 比如us-east-1、cn-north-1你的账号ID: 你的AWS账号数字ID你的自定义日志组名称: 你想要的易读名称,比如My-API-Logs/prod
额外提醒
- 如果你指定的自定义日志组还不存在,API Gateway会自动帮你创建它,不用提前手动去CloudWatch里建。
- 要确保API Gateway使用的执行角色有足够的CloudWatch Logs权限,至少得有
logs:CreateLogGroup、logs:CreateLogStream和logs:PutLogEvents这几个权限,不然日志写不进去哦。
内容的提问来源于stack exchange,提问作者CodeMonkey
相关产品推荐
相关产品推荐

