로깅 - AWS SDK for Go v2

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

로깅

AWS SDK for Go 에는 애플리케이션에서 요청 문제 또는 실패를 디버깅하고 진단하기 위한 디버깅 정보를 활성화할 수 있는 로깅 기능이 있습니다. Logger 인터페이스와 ClientLogMode는 클라이언트가 로깅하는 방법과 대상을 결정하는 데 사용할 수 있는 주요 구성 요소입니다.

Logger

LoadDefaultConfig를 사용하여 Config를 구성할 때 기본값Logger은 프로세스의 표준 오류(stderr)로 로그 메시지를 보내도록 구성됩니다. Logger 인터페이스를 충족하는 사용자 지정 로거는 config.WithLoggerhttps://pkg.go.dev/github.com/aws/smithy-go/logging#Logger로 래핑LoadDefaultConfig하여 인수로에 전달할 수 있습니다.

예를 들어를 사용하도록 클라이언트를 구성하려면 applicationLogger

cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithLogger(applicationLogger))

이제 구성된를 사용하여 구성된 클라이언트aws.Config가에 로그 메시지를 전송합니다applicationLogger.

컨텍스트 인식 로거

Logger 구현은 선택적 ContextLogger 인터페이스를 구현할 수 있습니다. 이 인터페이스를 구현하는 로거는 현재 컨텍스트로 WithContext 메서드를 호출합니다. 이렇게 하면 로깅 구현에서 컨텍스트에 있는 값을 기반으로 추가 로깅 메타데이터를 작성할 수 Logger 있는 새를 반환할 수 있습니다.

ClientLogMode

기본적으로 서비스 클라이언트는 로그 메시지를 생성하지 않습니다. 디버깅을 위해 로그 메시지를 보내도록 클라이언트를 구성하려면의 ClientLogMode 멤버를 사용합니다Config.는 다음에 대한 디버깅 메시징을 활성화하도록 설정할 ClientLogMode 수 있습니다.

  • 서명 버전 4(SigV4) 서명

  • 재시도 요청

  • HTTP 요청

  • HTTP 응답

예를 들어 HTTP 요청 및 재시도 로깅을 활성화하려면

cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithClientLogMode(aws.LogRetries | aws.LogRequest))

사용 가능한 다양한 클라이언트 로그 모드는 ClientLogMode를 참조하세요.