로깅 사용 설정

이 문서에서는 Rust에서 로깅을 사용 설정하는 방법을 설명합니다. 요청 및 응답을 콘솔에 로깅하면 애플리케이션 문제를 더 쉽게 해결할 수 있습니다.

기본 요건

이 가이드에서는 시작하기 전에 사용 설정해야 하는 Secret Manager API를 사용합니다. 서비스를 사용 설정하는 방법을 알아보려면 서비스 빠른 시작을 따르세요.

Rust 라이브러리의 전체 설정 안내는 시작하기 Rust를 참고하세요.

종속 항목

Cargo.toml 파일에서 종속 항목을 선언해야 합니다.

cargo add google-cloud-secretmanager-v1 google-cloud-gax

로깅 사용 설정

Rust 클라이언트 라이브러리는 Tokio의 추적 크레이트를 사용하여 범위가 지정되고 구조화된 비동기 인식 진단을 수집합니다. 추적 크레이트는 진단 소스 (예: Rust 클라이언트 라이브러리)를 Subscriber 특성을 사용하여 이러한 진단을 수집하는 구성요소와 분리합니다. Subscriber에 사용할 수 있는 구현은 많습니다. 이 예에서는 fmt 구독자 를 사용합니다. tracing-subscriber 크레이트에 포함된

  1. tracing-subscriber 크레이트에 종속 항목을 추가합니다.

    cargo add tracing tracing-subscriber
    
  2. 프로젝트 ID를 함수 매개변수로 수신하는 함수를 작성합니다.

    /// # Parameters
    /// - `project_id`: the id of a Google Cloud project, or its numeric ID.
    ///   For example: `my-project`.
    pub async fn sample(project_id: &str) -> anyhow::Result<()> {

  3. 예를 더 읽기 쉽게 만들려면 몇 가지 사용 선언을 도입합니다.

    use google_cloud_gax::paginator::ItemPaginator;
    use google_cloud_secretmanager_v1::client::SecretManagerService;
    use tracing_subscriber;

  4. 기본 추적 구독자를 초기화합니다.

    tracing_subscriber::fmt::init();

  5. 추적이 사용 설정된 클라이언트를 초기화합니다. .with_tracing() 호출을 확인합니다.

    let client = SecretManagerService::builder()
        .with_tracing()
        .build()
        .await?;

  6. 그런 다음 클라이언트를 사용하여 요청을 보냅니다.

    let mut items = client
        .list_secrets()
        .set_parent(format!("projects/{project_id}"))
        .by_item();
    println!("listing all secrets in project {project_id}");
    while let Some(secret) = items.next().await.transpose()? {
        println!("  {secret:?}");
    }
    println!("DONE");

예상 출력

출력 (가독성을 위해 약간 수정됨)에는 다음과 같은 줄이 포함됩니다.

2025-11-03T14:17:31.759452Z  INFO list_secrets{self=SecretManagerService ...

이 줄에는 요청이 포함됩니다.

req=ListSecretsRequest { parent: "projects/... }

응답:

return=Ok(Response { parts: ..., body: ListSecretsResponse { ...

추가 정보

tracing_subscriber::fmt::init()을 사용하여 만든 기본 구독자는 RUST_LOG 환경 변수를 사용하여 동적으로 구성할 수 있습니다. 자세한 내용은 문서를 참고하세요.