In diesem Dokument wird beschrieben, wie Sie das Logging in Rust aktivieren. Wenn Sie Anfragen und Antworten in der Konsole protokollieren, kann die Fehlerbehebung bei Anwendungen einfacher sein.
Vorbereitung
In dieser Anleitung wird die Secret Manager API verwendet, die aktiviert sein muss, bevor Sie beginnen. Informationen zum Aktivieren von Diensten finden Sie in der Kurzanleitung für Dienste.
Eine vollständige Einrichtungsanleitung für die Rust-Bibliotheken finden Sie unter Erste Schritte mit Rust.
Abhängigkeiten
Sie müssen die Abhängigkeiten in der Datei Cargo.toml deklarieren:
cargo add google-cloud-secretmanager-v1 google-cloud-gax
Logging aktivieren
Die Rust-Clientbibliotheken verwenden das Tokio-Tracing-Crate, um bereichsbezogene, strukturierte und asynchrone Diagnosen zu erfassen. Das Tracing-Crate trennt Quellen von Diagnosen (z. B. die Rust-Clientbibliotheken) von den Komponenten, die diese Diagnosen mithilfe des Traits Subscriber erfassen. Es gibt viele Implementierungen für Subscriber. In diesem Beispiel verwenden wir den fmt Subscriber
der im tracing-subscriber Crate enthalten ist.
Fügen Sie eine Abhängigkeit vom Crate
tracing-subscriberhinzu:cargo add tracing tracing-subscriberSchreiben Sie eine Funktion, die die Projekt-ID als Funktionsparameter empfängt:
Fügen Sie einige Deklarationen hinzu, um das Beispiel lesbarer zu machen:
Initialisieren Sie den Standard-Tracing-Subscriber:
Initialisieren Sie einen Client mit aktiviertem Tracing. Beachten Sie den Aufruf von
.with_tracing():Verwenden Sie dann den Client, um eine Anfrage zu senden:
Erwartete Ausgabe
Die Ausgabe (leicht bearbeitet, um die Lesbarkeit zu verbessern) enthält eine Zeile wie diese:
2025-11-03T14:17:31.759452Z INFO list_secrets{self=SecretManagerService ...
Diese Zeile enthält die Anfrage:
req=ListSecretsRequest { parent: "projects/... }
Die Antwort:
return=Ok(Response { parts: ..., body: ListSecretsResponse { ...
Weitere Informationen
Der mit tracing_subscriber::fmt::init() erstellte Standard-Subscriber kann dynamisch mit der Umgebungsvariablen RUST_LOG konfiguriert werden. Weitere Informationen finden Sie in der
Dokumentation.