我已在AWS API Gateway中为我的API启用了对CloudWatch的访问日志记录,并且工作正常。 但是,它只会记录URL的路径部分,而不是我的查询字符串参数。
我的日志格式如下:
$user = new User();
$user->company_id = Auth::user()->company_id;
$user->user_label = 2;
$user->unique_id = $value->userid;
$user->user_first_name = $value->name == '' ? '' : $value->name
$user->card_id = $value->cardnumber;
$user->save();
让我们说,我这样称呼我的API:
[$context.requestTime] ($context.status) "$context.httpMethod $context.path $context.requestId
相应的访问日志行如下所示:
GET http://my.server.com/details?id=123
我也需要id = 123,但我无法弄清楚如何访问它。文档建议使用[19/Jun/2018:06:09:27 +0000] (200) "GET /details 5229a43c-7387-11e8-xxxx-xxxxxxxx
,但这将始终返回$input.params('id')
。
答案 0 :(得分:1)
仅支持$ context变量,不支持$ input等。 AWS参考:您见过https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html吗?