AWS SDK for JavaScript 호출 로깅 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API 참조 안내서는 AWS SDK for JavaScript 버전 3(V3)의 모든 API 작업을 자세히 설명합니다.

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

AWS SDK for JavaScript 호출 로깅

AWS SDK for JavaScript는 기본 제공 로거가 함께 제공되므로 SDK for JavaScript로 API 직접 호출을 로깅할 수 있습니다.

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

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

미들웨어를 사용하여 요청 로깅

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를 사용하여 다음 미들웨어를 직접적으로 호출한 결과를 반환합니다.