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, potrebbe essere richiesto di fornire i log per consentire a Microsoft di diagnosticare il problema. L'applicazione non deve dipendere da particolari stringhe di log, perché possono passare da una versione SDK a un'altra senza preavviso. MemoryLogger è progettato per il caso in cui si vuole ottenere l'accesso ai log acquisiti 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 "circolare", ovvero le nuove stringhe di log scritte sostituiscono 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 riconoscitori. Non è possibile ottenere log separati per ogni riconoscitore.
Membri
Inizio
Sintassi: public inline static void Start ( );
Avvia l'accesso al buffer di memoria interno.
Fermati
Sintassi: public inline static void Stop ( );
Arresta l'accesso al buffer di memoria interno.
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 fa 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 su disco locale.
Non viene reimpostato (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 in cui scrivere.
Non viene reimpostato (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.
Restituzioni
Vettore con il contenuto del buffer di memoria copiato.
Non viene reimpostato (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.