

 [AWS SDK for JavaScript V3 API 참조 안내서](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/)는 AWS SDK for JavaScript 버전 3(V3)의 모든 API 작업을 자세히 설명합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS SDK for JavaScript 통화 로깅
<a name="logging-sdk-calls"></a>

 AWS SDK for JavaScript 는 기본 제공 로거와 함께 계측되므로 SDK for JavaScript를 사용하여 수행한 API 호출을 로깅할 수 있습니다.

콘솔에서 로거를 켜고 로그 항목을 인쇄하려면 선택적 `logger` 파라미터를 사용하여 서비스 클라이언트를 구성합니다. 아래 예제에서는 추적 및 디버그 출력을 무시하면서 클라이언트 로깅을 활성화합니다.

```
new S3Client({
  logger: {
    ...console,
    debug(...args) {},
    trace(...args) {},
  },
});
```

## 미들웨어를 사용하여 요청 로깅
<a name="middleware-logger"></a>

는 미들웨어 스택을 AWS SDK for JavaScript 사용하여 작업 호출의 수명 주기를 제어합니다. 스택의 각 미들웨어는 요청 객체를 변경한 후 다음 미들웨어를 직접적으로 호출합니다. 이렇게 하면 어떤 미들웨어가 직접적으로 호출되어 오류가 발생했는지 정확하게 확인할 수 있으므로 스택의 문제를 디버깅하는 것도 훨씬 쉬워집니다. 다음은 미들웨어를 사용한 요청 로깅의 예제입니다.

```
const client = new DynamoDB({ region: "us-west-2" });

client.middlewareStack.add(
  (next, context) => async (args) => {
    console.log("AWS SDK context", context.clientName, context.commandName);
    console.log("AWS SDK request input", args.input);
    const result = await next(args);
    console.log("AWS SDK request output:", result.output);
    return result;
  },
  {
    name: "MyMiddleware",
    step: "build",
    override: true,
  }
);

await client.listTables({});
```

위 예제에서는 미들웨어가 DynamoDB 클라이언트의 미들웨어 스택에 추가됩니다. 첫 번째 인수는 직접적으로 호출할 스택 내 다음 미들웨어인 `next`와 호출되는 작업에 대한 정보를 포함하는 객체 `context`를 수락하는 함수입니다. 작업 및 요청에 전달된 파라미터가 포함된 객체인 `args`를 수락하는 함수를 반환하고 `args`를 사용하여 다음 미들웨어를 직접적으로 호출한 결과를 반환합니다.