classe Diagnostics::Logging::MemoryLogger

Classe con metodi statici per controllare l'accesso dell'SDK in un buffer in memoria. L'attivazione della registrazione durante l'esecuzione dello scenario di Speech SDK fornisce informazioni dettagliate dai componenti nativi principali dell'SDK. Se si segnala un problema a Microsoft, è possibile che venga richiesto di fornire i log per consentire a Microsoft di diagnosticare il problema. L'applicazione non deve assumere dipendenze da specifiche stringhe di log, in quanto possono cambiare da una versione sdk a un'altra senza preavviso. MemoryLogger è progettato per il caso in cui si vuole ottenere l'accesso ai log che sono stati eseguiti nella breve durata prima che si verifichi un evento imprevisto. Ad esempio, se si esegue un riconoscimento vocale, è possibile eseguire il dump di MemoryLogger dopo aver ottenuto un evento che indica che il riconoscimento è stato annullato a causa di un errore. Le dimensioni del buffer di memoria sono fisse a 2 MB e non possono essere modificate. Si tratta di un buffer "anello", ovvero nuove stringhe di log scritte sostituisci quelle meno recenti nel buffer. Aggiunta nella versione 1.20.0.

La registrazione della memoria è un costrutto a livello di processo. Ciò significa che se ,ad esempio, si dispone di più oggetti riconoscimento vocale in esecuzione in parallelo, sarà presente un buffer di memoria contenente log interleaved da tutti i riconoscimento vocale. Non è possibile ottenere un log separato per ogni riconoscimento.

Membri

Avvio

Sintassi: public inline static void Start ( );

Avvia l'accesso al buffer di memoria interna.

Stop

Sintassi: public inline static void Stop ( );

Arresta l'accesso al buffer di memoria interna.

SetFilters

Sintassi: public inline static void SetFilters ( std::initializer_list< std::string > filters );

Imposta o cancella i filtri per la registrazione della memoria. Una volta impostati i filtri, il logger di memoria verrà aggiornato solo con stringhe di log contenenti almeno una delle stringhe specificate dai filtri. La corrispondenza è distinzione tra maiuscole e minuscole.

Parametri

  • filters Facoltativo. Filtri da usare o un elenco vuoto per rimuovere i filtri impostati in precedenza.

Spazzatura

Sintassi: public inline static void Dump ( const SPXSTRING & filePath );

Scrive il contenuto dell'intero buffer di memoria nel file specificato. Non impedisce ad altri thread SDK di continuare ad accedere al buffer.

Parametri

  • filePath Percorso di un file di log sul disco locale.

Questo non reimposta (cancella) il buffer di memoria.

Spazzatura

Sintassi: public inline static void Dump ( std::ostream & outStream );

Scrive il contenuto dell'intero buffer di memoria in un oggetto che implementa std::ostream. Ad esempio, std::cout (per l'output della console). Non impedisce ad altri thread SDK di continuare ad accedere al buffer.

Parametri

  • outStream oggetto std::ostream a cui scrivere.

Questo non reimposta (cancella) il buffer di memoria.

Spazzatura

Sintassi: public inline static std::vector< std::string > Dump ( );

Restituisce il contenuto dell'intero buffer di memoria come vettore di stringhe. Non impedisce ad altri thread SDK di continuare ad accedere al buffer.

Restituisce

Vettore con il contenuto del buffer di memoria copiato in esso.

Questo non reimposta (cancella) il buffer di memoria.

SetLevel

Sintassi: public inline static void SetLevel ( Level level );

Imposta il livello dei messaggi da acquisire dal logger.

Parametri

  • level Livello massimo di dettagli da acquisire dal logger.