From 6405a58caccfbfad6ebbf4bd63a93e762e8aae34 Mon Sep 17 00:00:00 2001 From: George Fu Date: Wed, 8 Mar 2023 15:46:08 -0500 Subject: [PATCH] fix(middleware-logger): retrieve filter overrides after middleware returns (#4502) --- .../middleware-logger/src/loggerMiddleware.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/middleware-logger/src/loggerMiddleware.ts b/packages/middleware-logger/src/loggerMiddleware.ts index ca34d6cdc218..80203d3f60b7 100644 --- a/packages/middleware-logger/src/loggerMiddleware.ts +++ b/packages/middleware-logger/src/loggerMiddleware.ts @@ -16,14 +16,14 @@ export const loggerMiddleware = context: HandlerExecutionContext ): InitializeHandler => async (args: InitializeHandlerArguments): Promise> => { - const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; - - const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; - const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog; - const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog; - try { const response = await next(args); + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + + const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog; + const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog; + const { $metadata, ...outputWithoutMetadata } = response.output; logger?.info?.({ clientName, @@ -34,6 +34,11 @@ export const loggerMiddleware = }); return response; } catch (error) { + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + + const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog; + logger?.error?.({ clientName, commandName,