En este documento, se describe cómo habilitar el registro en Rust. Registrar las solicitudes y respuestas en la consola puede facilitar la solución de problemas de las aplicaciones.
Requisitos previos
En esta guía, se usa la API de Secret Manager, que debe estar habilitada antes de comenzar. Para aprender a habilitar servicios, sigue la guía de inicio rápido del servicio.
Para obtener instrucciones completas sobre la configuración de las bibliotecas de Rust, consulta Cómo comenzar a usar Rust.
Dependencias
Debes declarar las dependencias en tu archivo Cargo.toml:
cargo add google-cloud-secretmanager-v1 google-cloud-gax
Habilitar registro
Las bibliotecas cliente de Rust usan el crate tracing de Tokio para recopilar diagnósticos con alcance, estructurados y compatibles con async. El crate de seguimiento separa las fuentes de diagnóstico (como las bibliotecas cliente de Rust) de los componentes que recopilan estos diagnósticos con el rasgo Subscriber. Hay muchas implementaciones disponibles para Subscriber. En este ejemplo, usaremos el suscriptor fmt incluido en el crate tracing-subscriber.
Agrega una dependencia en el crate
tracing-subscriber:cargo add tracing tracing-subscriberEscribe una función que reciba el ID del proyecto como parámetro de función:
Introduce algunas declaraciones de uso para que el ejemplo sea más legible:
Inicializa el suscriptor de seguimiento predeterminado:
Inicializa un cliente con el seguimiento habilitado. Observa la llamada a
.with_tracing():Luego, usa el cliente para enviar una solicitud:
Resultado esperado
El resultado (ligeramente editado para facilitar la lectura) incluirá una línea como la siguiente:
2025-11-03T14:17:31.759452Z INFO list_secrets{self=SecretManagerService ...
Esta línea incluye la solicitud:
req=ListSecretsRequest { parent: "projects/... }
La respuesta:
return=Ok(Response { parts: ..., body: ListSecretsResponse { ...
Más información
El suscriptor predeterminado creado con tracing_subscriber::fmt::init() se puede configurar de forma dinámica con la variable de entorno RUST_LOG. Consulta su documentación para obtener más detalles.