Amazon API GatewayのカスタムアクセスログにURLのpathを出力する
API Gatewayでカスタムアクセスログを有効化して、入力例のJSONを適用しました。
CloudWatch Logsからログを確認すると、以下のようにresourcePathにはAPI GatewayのPathが出力され、実際のURLは確認できませんでした。
{ "requestId": "f2d9374e-4165-457b-b08c-0c3d604f340d", "ip": "255.255.255.255", "caller": "-", "user": "-", "requestTime": "29/Sep/2020:14:48:54 +0000", "httpMethod": "GET", "resourcePath": "/{proxy+}", "status": "200", "protocol": "HTTP/1.1", "responseLength": "2362" }
AWSサポートの方に「$context.path」を追加すると確認できるよ、と教えていただいたため設定したところ、pathが確認できるようになりました。
ログ
{ "requestId": "57805c87-348d-4ef5-96b1-b06621883332", "ip": "255.255.255.255", "caller": "-", "user": "-", "requestTime": "03/Oct/2020:12:17:24 +0000", "httpMethod": "GET", "resourcePath": "/{proxy+}", "status": "404", "protocol": "HTTP/1.1", "responseLength": "1118", "context.path": "/favicon.ico" }
いろいろカスタマイズできていいですが、使いこなすのが大変ですね