API Gateway(REST API) で開発するとき、アクセスログと実行ログを出すようにすると、トライアンドエラーが捗りますよね。
CDK(TypeScript) でこれを有効にするには、こんな感じです。
const accessLogGroup = new logs.LogGroup(this, 'AccessLog');
const api = new apigateway.RestApi(this, 'Api', {
deployOptions: {
loggingLevel: apigateway.MethodLoggingLevel.INFO,
dataTraceEnabled: true,
accessLogDestination: new apigateway.LogGroupLogDestination(accessLogGroup),
accessLogFormat: apigateway.AccessLogFormat.clf()
}
});
実行ログに関する設定は、loggingLevel と dataTraceEnabled です。
マネジメントコンソールで言うと、ログレベル と リクエスト/レスポンスをすべてログ を指します。
アクセスログに関する設定は、accessLogDestination と accessLogFormat です。
これは、出力先のロググループと、アクセスログのフォーマットです。
これで API にアクセスすると、CloudWatch ログで、実行ログとアクセスログがそれぞれ別のログストリームに出力されます。