49 lines
2.4 KiB
JavaScript
49 lines
2.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0;
|
|
const loggerMiddleware = () => (next, context) => async (args) => {
|
|
var _a, _b;
|
|
try {
|
|
const response = await next(args);
|
|
const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
|
|
const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
|
|
const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog;
|
|
const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : context.outputFilterSensitiveLog;
|
|
const { $metadata, ...outputWithoutMetadata } = response.output;
|
|
(_a = logger === null || logger === void 0 ? void 0 : logger.info) === null || _a === void 0 ? void 0 : _a.call(logger, {
|
|
clientName,
|
|
commandName,
|
|
input: inputFilterSensitiveLog(args.input),
|
|
output: outputFilterSensitiveLog(outputWithoutMetadata),
|
|
metadata: $metadata,
|
|
});
|
|
return response;
|
|
}
|
|
catch (error) {
|
|
const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
|
|
const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
|
|
const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog;
|
|
(_b = logger === null || logger === void 0 ? void 0 : logger.error) === null || _b === void 0 ? void 0 : _b.call(logger, {
|
|
clientName,
|
|
commandName,
|
|
input: inputFilterSensitiveLog(args.input),
|
|
error,
|
|
metadata: error.$metadata,
|
|
});
|
|
throw error;
|
|
}
|
|
};
|
|
exports.loggerMiddleware = loggerMiddleware;
|
|
exports.loggerMiddlewareOptions = {
|
|
name: "loggerMiddleware",
|
|
tags: ["LOGGER"],
|
|
step: "initialize",
|
|
override: true,
|
|
};
|
|
const getLoggerPlugin = (options) => ({
|
|
applyToStack: (clientStack) => {
|
|
clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions);
|
|
},
|
|
});
|
|
exports.getLoggerPlugin = getLoggerPlugin;
|