Ce document explique comment activer la journalisation dans Rust. L'enregistrement des requêtes et des réponses dans la console peut faciliter le dépannage des applications.
Prérequis
Ce guide utilise l'API Secret Manager, qui doit être activée avant de commencer. Pour savoir comment activer des services, suivez le guide de démarrage rapide des services.
Pour obtenir des instructions de configuration complètes pour les bibliothèques Rust, consultez Premiers pas avec Rust.
Dépendances
Vous devez déclarer les dépendances dans votre fichier Cargo.toml :
cargo add google-cloud-secretmanager-v1 google-cloud-gax
Activer la journalisation
Les bibliothèques clientes Rust utilisent le crate tracing de Tokio pour collecter des diagnostics structurés, à portée définie et compatibles avec les opérations asynchrones. La crate de traçage sépare les sources de diagnostics (telles que les bibliothèques clientes Rust) des composants qui collectent ces diagnostics à l'aide du trait Subscriber. De nombreuses implémentations sont disponibles pour Subscriber. Dans cet exemple, nous allons utiliser l'abonné fmt inclus avec la crate tracing-subscriber.
Ajoutez une dépendance au crate
tracing-subscriber:cargo add tracing tracing-subscriberÉcrivez une fonction qui reçoit l'ID du projet en tant que paramètre de fonction :
Ajoutez quelques déclarations d'utilisation pour rendre l'exemple plus lisible :
Initialisez l'abonné de trace par défaut :
Initialisez un client avec le traçage activé. Notez l'appel à
.with_tracing():Utilisez ensuite le client pour envoyer une requête :
Résultat attendu
Le résultat (légèrement modifié pour plus de lisibilité) inclut une ligne telle que :
2025-11-03T14:17:31.759452Z INFO list_secrets{self=SecretManagerService ...
Cette ligne inclut la demande :
req=ListSecretsRequest { parent: "projects/... }
La réponse :
return=Ok(Response { parts: ..., body: ListSecretsResponse { ...
En savoir plus
L'abonné par défaut créé à l'aide de tracing_subscriber::fmt::init() peut être configuré de manière dynamique à l'aide de la variable d'environnement RUST_LOG. Pour en savoir plus, consultez sa documentation.