11/* eslint-disable */
22import * as lambda from 'aws-lambda' ;
3+ import logger from 'lambda-log' ;
34/* eslint-enable */
45import * as errors from '../types/errors' ;
56import { ApiGatewayv2CognitoAuthorizer , AppSyncCognitoAuthorizer , CognitoAuthorizer } from './auth' ;
@@ -18,6 +19,7 @@ export interface HttpResponseContext {
1819export interface HttpHandlerContext {
1920 event : lambda . APIGatewayProxyEventV2 ;
2021 lambdaContext : lambda . Context ;
22+ logger : logger . LambdaLog ;
2123 response : HttpResponseContext ;
2224 cognitoAuth : CognitoAuthorizer ;
2325}
@@ -59,9 +61,14 @@ export const createHttpHandler =
5961 const ctx : HttpHandlerContext = {
6062 event,
6163 lambdaContext : context ,
64+ logger : logger as unknown as logger . LambdaLog ,
6265 response : { headers : { } , json : true } ,
63- cognitoAuth : new ApiGatewayv2CognitoAuthorizer ( event ) ,
66+ cognitoAuth : new ApiGatewayv2CognitoAuthorizer ( event , logger as unknown as logger . LambdaLog ) ,
6467 } ;
68+ ctx . logger . options . meta . requestId = context . awsRequestId ;
69+ ctx . logger . options . debug = process . env . DEBUG === 'true' ;
70+
71+ ctx . logger . debug ( JSON . stringify ( event ) ) ;
6572
6673 try {
6774 await ctx . cognitoAuth . authenticate ( ) ;
@@ -88,7 +95,7 @@ export const createHttpHandler =
8895 body : error . message ,
8996 } ;
9097 }
91- console . error ( error ) ;
98+ ctx . logger . error ( error ) ;
9299 return {
93100 statusCode : ctx . response . statusCode ?? 500 ,
94101 headers : {
@@ -126,6 +133,7 @@ function corsHeader(event: lambda.APIGatewayProxyEventV2): { [name: string]: str
126133export interface AppSyncHandlerContext < T > {
127134 event : lambda . AppSyncResolverEvent < T > ;
128135 lambdaContext : lambda . Context ;
136+ logger : logger . LambdaLog ;
129137 cognitoAuth : CognitoAuthorizer ;
130138}
131139
@@ -139,14 +147,19 @@ export const createAppSyncHandler =
139147 const ctx : AppSyncHandlerContext < T > = {
140148 event,
141149 lambdaContext : context ,
150+ logger : logger as unknown as logger . LambdaLog ,
142151 cognitoAuth : new AppSyncCognitoAuthorizer ( event ) ,
143152 } ;
153+ ctx . logger . options . meta . requestId = context . awsRequestId ;
154+ ctx . logger . options . debug = process . env . DEBUG === 'true' ;
155+
156+ ctx . logger . debug ( JSON . stringify ( event ) ) ;
144157
145158 try {
146159 await ctx . cognitoAuth . authenticate ( ) ;
147160 return await handler ( ctx ) ;
148161 } catch ( error ) {
149- console . error ( error ) ;
162+ ctx . logger . error ( error ) ;
150163 throw error ;
151164 }
152165 } ;
0 commit comments