このドキュメントでは、Rust でロギングを有効にする方法について説明します。リクエストとレスポンスをコンソールにロギングすると、アプリケーションのトラブルシューティングが容易になります。
前提条件
このガイドでは Secret Manager API を使用します。この API は、開始する前に有効にする必要があります。サービスを有効にする方法については、サービスのクイックスタートをご覧ください。
Rust ライブラリの完全な設定手順については、Rust を使ってみるをご覧ください。
依存関係
Cargo.toml ファイルで依存関係を宣言する必要があります。
cargo add google-cloud-secretmanager-v1 google-cloud-gax
ロギングを有効にする
Rust クライアント ライブラリは、Tokio の tracing クレートを使用して、スコープ付きの構造化された非同期対応の診断情報を収集します。トレース クレートは、Subscriber トレイトを使用して、診断のソース(Rust クライアント ライブラリなど)をこれらの診断を収集するコンポーネントから分離します。Subscriber には多くの実装が用意されています。この例では、tracing-subscriber クレートに含まれる fmt サブスクライバーを使用します。
tracing-subscriberクレートへの依存関係を追加します。cargo add tracing tracing-subscriberプロジェクト ID を関数パラメータとして受け取る関数を作成します。
例を読みやすくするために、いくつかの use 宣言を導入します。
デフォルトのトレース サブスクライバーを初期化します。
トレースを有効にしてクライアントを初期化します。
.with_tracing()の呼び出しに注意してください。次に、クライアントを使用してリクエストを送信します。
予想される出力
出力(読みやすくするために一部編集)には、次のような行が含まれます。
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 環境変数を使用して動的に構成できます。詳しくは、そのドキュメントをご覧ください。