I want to enable api gateway logs for my api gateway which is the wraparound for my lambda function.
service: myservice
provider:
name: aws
runtime: python3.6
stage: ${opt:stage}
region: ${self:custom.AwsRegion}
timeout: 130
memorySize: 128
functions:
create_user:
handler: functions/create_user.lambda_handler
events:
- http:
path: /create_user
method: post
authorizer: aws_iam
private: true
When I deploy this I do see lambda logs in cloud watch. But API gateway logs are not being recoded in cloudwatch. Can any one enlighten me on cloud formation syntax to enable logs for my api gate way?
I tried adding below code, but looks like it is trying to create new api endpoint.
resources: Resources:
ApiGatewayStage:
Type: AWS::ApiGateway::Stage
Properties:
RestApiId:
Ref: ApiGatewayRestApi
StageName: ${opt:stage}
MethodSettings:
- DataTraceEnabled: true
HttpMethod: "*"
LoggingLevel: INFO
ResourcePath: "/*"
MetricsEnabled: true
Enabling logging in API Gateway for your stage is fairly easy. You go into the Console, setup a role for API Gateway to use for logging, find the stage and enable logs. It will enable logging for all methods within that stage.
You can do it via external plugins and the solution is discussed in detail here.
https://github.com/serverless/serverless/issues/1918
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With