Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione e utilizzo della registrazione nell' AWS SDK per Rust
AWS SDK for Rust Utilizza il framework di tracciamentotracing-subscriber cassa e inizializzala nella tua applicazione Rust. I log includono timestamp, livelli di registro e percorsi dei moduli, che aiutano a eseguire il debug delle richieste API e del comportamento dell'SDK. Usa la variabile di RUST_LOG ambiente per controllare la verbosità dei log, filtrando per modulo se necessario.
Come abilitare la registrazione nell'SDK per Rust AWS
-
In un prompt dei comandi per la directory del progetto, aggiungi tracing-subscriber
crate come dipendenza: $cargo add tracing-subscriber --features tracing-subscriber/env-filterQuesto aggiunge la cassa alla sezione del file.
[dependencies]Cargo.toml -
Inizializza l'abbonato. Di solito questa operazione viene eseguita all'inizio della
mainfunzione prima di chiamare qualsiasi operazione SDK for Rust:use aws_config::BehaviorVersion; type BoxError = Box<dyn Error + Send + Sync>; #[tokio::main] async fn main() -> Result<(), BoxError> { tracing_subscriber::fmt::init(); // Initialize the subscriber. let config = aws_config::defaults(BehaviorVersion::latest()) .load() .await; let s3 = aws_sdk_s3::Client::new(&config); let _resp = s3.list_buckets() .send() .await?; Ok(()) } -
Attiva la registrazione utilizzando la variabile di
RUST_LOGambiente. Per abilitare la visualizzazione delle informazioni di registrazione, in un prompt dei comandi, impostate la variabile diRUST_LOGambiente sul livello a cui desiderate effettuare il login. L'esempio seguente imposta la registrazione sul livello:debug -
Esegui il programma:
$cargo runDovresti vedere un output aggiuntivo nella finestra della console o del terminale.
Per ulteriori informazioni, consulta Filtrare gli eventi con variabili di ambientetracing-subscriber documentazione.
Interpreta l'output del registro
Dopo aver attivato la registrazione seguendo i passaggi della sezione precedente, le informazioni di registro aggiuntive verranno stampate in modo predefinito.
Se si utilizza il formato di output del registro predefinito (chiamato «completo» dal modulo di tracciamento), le informazioni visualizzate nell'output del registro sono simili alle seguenti:
2024-06-25T16:10:12.367482Z DEBUG invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt:lazy_load_identity: aws_smithy_runtime::client::identity::cache::lazy: identity cache miss occurred; added new identity (took 480.892ms) new_expiration=2024-06-25T23:07:59Z valid_for=25066.632521s partition=IdentityCachePartition(7) 2024-06-25T16:10:12.367602Z DEBUG invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt: aws_smithy_runtime::client::identity::cache::lazy: loaded identity 2024-06-25T16:10:12.367643Z TRACE invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: resolved identity identity=Identity { data: Credentials {... }, expiration: Some(SystemTime { tv_sec: 1719356879, tv_nsec: 0 }) } 2024-06-25T16:10:12.367695Z TRACE invoke{service=s3 operation=ListBuckets sdk_invocation_id=3434933}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: signing request
Ogni voce include quanto segue:
-
Il timestamp della voce di registro.
-
Il livello di registro della voce. Questa è una parola come
INFODEBUG, oTRACE. -
L'insieme annidato di intervalli da
cui è stata generata la voce di registro, separati da due punti («:»). Ciò consente di identificare l'origine della voce di registro. -
Il percorso del modulo Rust contenente il codice che ha generato la voce di registro.
-
Il testo del messaggio di log.
I formati di output standard del modulo di tracciamento utilizzano codici di escape ANSI per colorare l'output. Tenete a mente queste sequenze di escape quando filtrate o cercate l'output.
Nota
All'interno del sdk_invocation_id set annidato di intervalli viene visualizzato un ID univoco generato dal client SDK per facilitare la correlazione dei messaggi di registro. Non è correlato all'ID della richiesta trovato nella risposta di un. Servizio AWS
Ottimizza i tuoi livelli di registrazione
Se utilizzi una cassa che supporta il filtraggio di un ambiente, ad esempiotracing_subscriber, puoi controllare la verbosità dei log per modulo.
Puoi attivare lo stesso livello di registrazione per ogni modulo. Quanto segue imposta il livello di registrazione su ogni trace modulo:
$RUST_LOG=tracecargo run
È possibile attivare la registrazione a livello di traccia per un modulo specifico. Nell'esempio seguente, solo i log provenienti da aws_smithy_runtime verranno inseriti al livello. trace
$RUST_LOG=aws_smithy_runtime=trace
È possibile specificare un livello di registro diverso per più moduli separandoli con virgole. L'esempio seguente imposta il aws_config modulo sulla registrazione dei trace livelli e il aws_smithy_runtime modulo sulla registrazione dei livelli. debug
$RUST_LOG=aws_config=trace,aws_smithy_runtime=debugcargo run
La tabella seguente descrive alcuni dei moduli che è possibile utilizzare per filtrare i messaggi di registro:
| Prefix | Descrizione |
|---|---|
|
|
Registrazione via cavo di richiesta e risposta |
|
|
Caricamento delle credenziali |
|
|
Richieste di firma e richieste canoniche |
Un modo per capire quali moduli è necessario includere nell'output di registro è registrare prima tutto, quindi trovare il nome della cassa nell'output del registro per le informazioni necessarie. Quindi puoi impostare la variabile di ambiente di conseguenza ed eseguire nuovamente il programma.