Delen via


class Diagnostics::Logging::MemoryLogger

Klasse met statische methoden voor het beheren van SDK-logboekregistratie in een buffer in het geheugen. Het inschakelen van logboekregistratie tijdens het uitvoeren van uw Speech SDK-scenario biedt gedetailleerde informatie over de belangrijkste systeemeigen onderdelen van de SDK. Als u een probleem aan Microsoft rapporteert, wordt u mogelijk gevraagd om logboeken op te geven om Microsoft te helpen bij het vaststellen van het probleem. Uw toepassing mag niet afhankelijk zijn van bepaalde logboektekenreeksen, omdat deze zonder voorafgaande kennisgeving kunnen worden gewijzigd van de ene SDK-release naar de andere. MemoryLogger is ontworpen voor het geval u toegang wilt krijgen tot logboeken die zijn gemaakt in de korte tijd voordat er een onverwachte gebeurtenis plaatsvindt. Als u bijvoorbeeld een Spraakherkenning uitvoert, kunt u de MemoryLogger dumpen nadat u een gebeurtenis hebt ontvangen die aangeeft dat de herkenning is geannuleerd vanwege een fout. De grootte van de geheugenbuffer is vastgesteld op 2 MB en kan niet worden gewijzigd. Dit is een 'ring'-buffer, dat wil schrijven dat nieuwe logboektekenreeksen de oudste in de buffer vervangen. Toegevoegd in versie 1.20.0.

Logboekregistratie van geheugen is een procesbrede constructie. Dit betekent dat als er (bijvoorbeeld) meerdere spraakherkenningsobjecten parallel worden uitgevoerd, er één geheugenbuffer is met interleaved logboeken van alle recognizers. U kunt geen afzonderlijke logboeken voor elke recognizer ophalen.

Leden

Starten

Syntaxis: public inline static void Start ( );

Hiermee begint u zich aan te melden bij de interne geheugenbuffer.

Stoppen

Syntaxis: public inline static void Stop ( );

Stopt met aanmelden bij de interne geheugenbuffer.

SetFilters

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

Hiermee worden filters voor geheugenlogboekregistratie ingesteld of gewist. Zodra filters zijn ingesteld, wordt de logboekregistratie van het geheugen alleen bijgewerkt met logboektekenreeksen die ten minste één van de tekenreeksen bevatten die door de filters zijn opgegeven. De overeenkomst is hoofdlettergevoelig.

Parameters

  • filters Optionele. Te gebruiken filters of een lege lijst om eerder ingestelde filters te verwijderen.

Dump

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

Hiermee schrijft u de inhoud van de hele geheugenbuffer naar het opgegeven bestand. Het blokkeert niet dat andere SDK-threads zich blijven aanmelden bij de buffer.

Parameters

  • filePath Pad naar een logboekbestand op de lokale schijf.

Hiermee wordt de geheugenbuffer niet opnieuw ingesteld (gewist).

Dump

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

Hiermee schrijft u de inhoud van de hele geheugenbuffer naar een object dat std::ostream implementeert. Bijvoorbeeld std::cout (voor console-uitvoer). Het blokkeert niet dat andere SDK-threads zich blijven aanmelden bij de buffer.

Parameters

  • outStream std::ostream-object om naar te schrijven.

Hiermee wordt de geheugenbuffer niet opnieuw ingesteld (gewist).

Dump

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

Retourneert de inhoud van de hele geheugenbuffer als een vector van tekenreeksen. Het blokkeert niet dat andere SDK-threads zich blijven aanmelden bij de buffer.

Retouren

Een vector met de inhoud van de geheugenbuffer die erin is gekopieerd.

Hiermee wordt de geheugenbuffer niet opnieuw ingesteld (gewist).

SetLevel

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

Hiermee stelt u het niveau in van de berichten die moeten worden vastgelegd door de logboekregistratie.

Parameters

  • level Maximale detailniveau dat door de logger moet worden vastgelegd.