쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

AWS SDK for Rust 코드 로깅 활성화

포커스 모드
AWS SDK for Rust 코드 로깅 활성화 - AWS SDK for Rust

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

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

는 로깅에 추적 프레임워크를 AWS SDK for Rust 사용합니다.

  1. 프로젝트 디렉터리에 대한 명령 프롬프트에서 추적 구독자 크레이트를 종속 항목으로 추가합니다.

    $ cargo add tracing-subscriber --features tracing-subscriber/env-filter

    그러면 Cargo.toml 파일의 [dependencies] 섹션에 크레이트가 추가됩니다.

  2. 구독자를 초기화합니다. 일반적으로 SDK for Rust 작업을 호출하기 전에 main 함수 초기에 수행됩니다.

    use aws_config::BehaviorVersion; type BoxError = Box<dyn Error + Send + Sync>; #[tokio::main] async fn main() -> Result<(), BoxError> { tracing_subscriber::fmt::init(); // Initialize the subscriber. let config = aws_config::defaults(BehaviorVersion::latest()) .load() .await; let s3 = aws_sdk_s3::Client::new(&config); let _resp = s3.list_buckets() .send() .await?; Ok(()) }
  3. RUST_LOG 환경 변수를 사용하여 로깅을 켭니다. 로깅 정보 표시를 활성화하려면 명령 프롬프트에서 RUST_LOG 환경 변수를 로그인하려는 수준으로 설정합니다. 다음 예제에서는 로깅을 debug 수준으로 설정합니다.

    Linux/macOS
    $ RUST_LOG=debug
    Windows

    VSCode를 사용하는 경우 터미널 창은 주로 PowerShell로 기본 설정됩니다. 사용 중인 프롬프트 유형을 확인합니다.

    C:\> set RUST_LOG=debug
    PowerShell
    PS C:\> $ENV:RUST_LOG="debug"
    $ RUST_LOG=debug
  4. 프로그램을 실행합니다:

    $ cargo run

    콘솔 또는 터미널 창에 추가 출력이 표시됩니다.

자세한 내용은 tracing-subscriber 설명서의 환경 변수를 사용하여 이벤트 필터링을 참조하세요.

로그 출력 해석

이전 섹션의 단계에 따라 로깅을 켜면 기본적으로 추가 로그 정보가 표준으로 인쇄됩니다.

기본 로그 출력 형식(추적 모듈에서 "전체"라고 함)을 사용하는 경우 로그 출력에 표시되는 정보는 다음과 같습니다.

2024-06-25T16:10:12.367482Z DEBUG invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt:lazy_load_identity: aws_smithy_runtime::client::identity::cache::lazy: identity cache miss occurred; added new identity (took 480.892ms) new_expiration=2024-06-25T23:07:59Z valid_for=25066.632521s partition=IdentityCachePartition(7) 2024-06-25T16:10:12.367602Z DEBUG invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt: aws_smithy_runtime::client::identity::cache::lazy: loaded identity 2024-06-25T16:10:12.367643Z TRACE invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: resolved identity identity=Identity { data: Credentials {... }, expiration: Some(SystemTime { tv_sec: 1719356879, tv_nsec: 0 }) } 2024-06-25T16:10:12.367695Z TRACE invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: signing request

각 항목에는 다음이 포함됩니다.

  • 로그 항목의 타임스탬프입니다.

  • 항목의 로그 수준입니다. INFO, DEBUG또는와 같은 단어입니다TRACE.

  • 로그 항목이 생성된 중첩된 범위 집합으로, 콜론(":")으로 구분됩니다. 이렇게 하면 로그 항목의 소스를 식별할 수 있습니다.

  • 로그 항목을 생성한 코드가 포함된 Rust 모듈 경로입니다.

  • 로그 메시지 텍스트입니다.

추적 모듈의 표준 출력 형식은 ANSI 이스케이프 코드를 사용하여 출력을 색상화합니다. 출력을 필터링하거나 검색할 때 이러한 이스케이프 시퀀스를 염두에 두세요.

참고

중첩된 범위 집합 내에 sdk_invocation_id 나타나는는 로그 메시지의 상관관계를 파악하는 데 도움이 되도록 SDK에서 생성한 고유한 ID 클라이언트 측입니다. 이는의 응답에서 발견된 요청 ID와 관련이 없습니다 AWS 서비스.

로깅 수준 미세 조정

와 같은 환경 필터링을 지원하는 크레이트를 사용하는 경우 모듈별로 로그의 세부성을 제어할 tracing_subscriber수 있습니다.

모든 모듈에 대해 동일한 로깅 수준을 켤 수 있습니다. 다음은 모든 모듈에 trace 대해 로깅 수준을 로 설정합니다.

$ RUST_LOG=trace cargo run

특정 모듈에 대해 트레이스 수준 로깅을 켤 수 있습니다. 다음 예제에서는에서 오는 로그만 trace 레벨로 aws_smithy_runtime 들어옵니다.

$ RUST_LOG=aws_smithy_runtime=trace

여러 모듈에 대해 쉼표로 구분하여 다른 로그 수준을 지정할 수 있습니다. 다음 예제에서는 aws_config 모듈을 trace 레벨 로깅으로 설정하고 aws_smithy_runtime 모듈을 debug 레벨 로깅으로 설정합니다.

$ RUST_LOG=aws_config=trace,aws_smithy_runtime=debug cargo run

다음 표에서는 로그 메시지를 필터링하는 데 사용할 수 있는 몇 가지 모듈을 설명합니다.

접두사  설명

aws_smithy_runtime

요청 및 응답 와이어 로깅

aws_config

자격 증명 로드

aws_sigv4

요청 서명 및 표준 요청

로그 출력에 포함해야 하는 모듈을 파악하는 한 가지 방법은 먼저 모든 것을 로그한 다음 필요한 정보를 위해 로그 출력에서 상자 이름을 찾는 것입니다. 그런 다음 그에 따라 환경 변수를 설정하고 프로그램을 다시 실행할 수 있습니다.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.