1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0;
|
4 | const loggerMiddleware = () => (next, context) => async (args) => {
|
5 | var _a, _b;
|
6 | try {
|
7 | const response = await next(args);
|
8 | const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
|
9 | const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
|
10 | const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog;
|
11 | const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog !== null && overrideOutputFilterSensitiveLog !== void 0 ? overrideOutputFilterSensitiveLog : context.outputFilterSensitiveLog;
|
12 | const { $metadata, ...outputWithoutMetadata } = response.output;
|
13 | (_a = logger === null || logger === void 0 ? void 0 : logger.info) === null || _a === void 0 ? void 0 : _a.call(logger, {
|
14 | clientName,
|
15 | commandName,
|
16 | input: inputFilterSensitiveLog(args.input),
|
17 | output: outputFilterSensitiveLog(outputWithoutMetadata),
|
18 | metadata: $metadata,
|
19 | });
|
20 | return response;
|
21 | }
|
22 | catch (error) {
|
23 | const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
|
24 | const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
|
25 | const inputFilterSensitiveLog = overrideInputFilterSensitiveLog !== null && overrideInputFilterSensitiveLog !== void 0 ? overrideInputFilterSensitiveLog : context.inputFilterSensitiveLog;
|
26 | (_b = logger === null || logger === void 0 ? void 0 : logger.error) === null || _b === void 0 ? void 0 : _b.call(logger, {
|
27 | clientName,
|
28 | commandName,
|
29 | input: inputFilterSensitiveLog(args.input),
|
30 | error,
|
31 | metadata: error.$metadata,
|
32 | });
|
33 | throw error;
|
34 | }
|
35 | };
|
36 | exports.loggerMiddleware = loggerMiddleware;
|
37 | exports.loggerMiddlewareOptions = {
|
38 | name: "loggerMiddleware",
|
39 | tags: ["LOGGER"],
|
40 | step: "initialize",
|
41 | override: true,
|
42 | };
|
43 | const getLoggerPlugin = (options) => ({
|
44 | applyToStack: (clientStack) => {
|
45 | clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions);
|
46 | },
|
47 | });
|
48 | exports.getLoggerPlugin = getLoggerPlugin;
|