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 | const { clientName, commandName, inputFilterSensitiveLog, logger, outputFilterSensitiveLog } = context;
|
6 | const response = await next(args);
|
7 | if (!logger) {
|
8 | return response;
|
9 | }
|
10 | if (typeof logger.info === "function") {
|
11 | const { $metadata, ...outputWithoutMetadata } = response.output;
|
12 | logger.info({
|
13 | clientName,
|
14 | commandName,
|
15 | input: inputFilterSensitiveLog(args.input),
|
16 | output: outputFilterSensitiveLog(outputWithoutMetadata),
|
17 | metadata: $metadata,
|
18 | });
|
19 | }
|
20 | return response;
|
21 | };
|
22 | exports.loggerMiddleware = loggerMiddleware;
|
23 | exports.loggerMiddlewareOptions = {
|
24 | name: "loggerMiddleware",
|
25 | tags: ["LOGGER"],
|
26 | step: "initialize",
|
27 | override: true,
|
28 | };
|
29 | const getLoggerPlugin = (options) => ({
|
30 | applyToStack: (clientStack) => {
|
31 | clientStack.add((0, exports.loggerMiddleware)(), exports.loggerMiddlewareOptions);
|
32 | },
|
33 | });
|
34 | exports.getLoggerPlugin = getLoggerPlugin;
|