UNPKG

2.51 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getLoggerPlugin = exports.loggerMiddlewareOptions = exports.loggerMiddleware = void 0;
4const 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};
36exports.loggerMiddleware = loggerMiddleware;
37exports.loggerMiddlewareOptions = {
38 name: "loggerMiddleware",
39 tags: ["LOGGER"],
40 step: "initialize",
41 override: true,
42};
43const getLoggerPlugin = (options) => ({
44 applyToStack: (clientStack) => {
45 clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions);
46 },
47});
48exports.getLoggerPlugin = getLoggerPlugin;