I've enabled Access Logging to CloudWatch for my API in AWS API Gateway and that works fine. However, it will only log the path section of the URL and not my query string parameters.
My log format looks like this:
[$context.requestTime] ($context.status) "$context.httpMethod $context.path $context.requestId
Let's say, I call my API like this:
GET http://my.server.com/details?id=123
The corresponding access log line will look like this:
[19/Jun/2018:06:09:27 +0000] (200) "GET /details 5229a43c-7387-11e8-xxxx-xxxxxxxx
I need the id=123 as well, but I can't figure out how to access it. The documentation suggest using $input.params('id')
, but that will always return -
.
Only $context variables are supported, not $input, etc. AWS Ref: Have you seen https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html?
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