Klassendiagnostik::Protokoll::MemoryLogger

Klasse mit statischen Methoden zum Steuern der SDK-Protokollierung in einem Speicherpuffer. Wenn Sie die Protokollierung beim Ausführen Ihres Speech SDK-Szenarios aktivieren, finden Sie detaillierte Informationen aus den kerneigenen Komponenten des SDK. Wenn Sie ein Problem an Microsoft melden, werden Sie möglicherweise aufgefordert, Protokolle bereitzustellen, um Microsoft bei der Diagnose des Problems zu unterstützen. Ihre Anwendung sollte keine Abhängigkeit von bestimmten Protokollzeichenfolgen haben, da sie von einer SDK-Version zu einer anderen ohne Vorheriges wechseln können. MemoryLogger ist für den Fall konzipiert, in dem Sie Zugriff auf Protokolle erhalten möchten, die in kurzer Zeit ausgeführt wurden, bevor ein unerwartetes Ereignis eintritt. Wenn Sie beispielsweise eine Spracherkennung ausführen, sollten Sie den MemoryLogger nach dem Abrufen eines Ereignisses, das angibt, dass die Erkennung aufgrund eines Fehlers abgebrochen wurde, abbilden. Die Größe des Speicherpuffers ist auf 2 MB festgelegt und kann nicht geändert werden. Dies ist ein "Ring"-Puffer, d. h. neue Protokollzeichenfolgen, die geschrieben wurden, ersetzen die ältesten im Puffer. In Version 1.20.0 hinzugefügt.

Die Speicherprotokollierung ist ein prozessweites Konstrukt. Das bedeutet, dass ein Speicherpuffer vorhanden ist, der zwischengespeicherte Protokolle aller Erkennungsprotokolle enthält, wenn (z. B.) mehrere Spracherkennungsobjekte parallel ausgeführt werden. Für jede Erkennung können keine separaten Protokolle abgerufen werden.

Elemente

Starten

Syntax: public inline static void Start ( );

Startet die Anmeldung beim internen Speicherpuffer.

Aufhören

Syntax: public inline static void Stop ( );

Beendet die Anmeldung beim internen Speicherpuffer.

Filter festlegen

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

Legt Filter für die Speicherprotokollierung fest oder löscht sie. Nachdem Filter festgelegt wurden, wird der Speicherprotokollierer nur mit Protokollzeichenfolgen aktualisiert, die mindestens eine der durch die Filter angegebenen Zeichenfolgen enthalten. Bei der Übereinstimmung wird die Groß-/Kleinschreibung beachtet.

Die Parameter

  • filters Optional. Filter, die verwendet werden sollen, oder eine leere Liste, um zuvor festgelegte Filter zu entfernen.

Müllkippe

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

Schreibt den Inhalt des gesamten Speicherpuffers in die angegebene Datei. Andere SDK-Threads werden nicht daran gehindert, sich weiterhin beim Puffer anzumelden.

Die Parameter

  • filePath Pfad zu einer Protokolldatei auf einem lokalen Datenträger.

Dadurch wird der Speicherpuffer nicht zurückgesetzt (gelöscht).

Müllkippe

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

Schreibt den Inhalt des gesamten Speicherpuffers in ein Objekt, das std::ostream implementiert. Beispiel: std::cout (für Konsolenausgabe). Andere SDK-Threads werden nicht daran gehindert, sich weiterhin beim Puffer anzumelden.

Die Parameter

  • outStream std::ostream-Objekt, in das geschrieben werden soll.

Dadurch wird der Speicherpuffer nicht zurückgesetzt (gelöscht).

Müllkippe

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

Gibt den Inhalt des gesamten Speicherpuffers als Vektor von Zeichenfolgen zurück. Andere SDK-Threads werden nicht daran gehindert, sich weiterhin beim Puffer anzumelden.

Rückgaben

Ein Vektor mit dem Inhalt des Speicherpuffers, der in ihn kopiert wurde.

Dadurch wird der Speicherpuffer nicht zurückgesetzt (gelöscht).

SetzEbenen

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

Legt die Ebene der Nachrichten fest, die vom Logger erfasst werden sollen.

Die Parameter

  • level Maximale Detailstufe, die vom Logger erfasst werden soll.