Class Diagnostics::Logging::MemoryLogger
Klasse mit statischen Methoden zum Steuern der SDK-Protokollierung in einem Speicherpuffer. Das Aktivieren der Protokollierung während der Ausführung Ihres Speech SDK-Szenarios enthält detaillierte Informationen zu den nativen Kernkomponenten des SDK. Wenn Sie microsoft ein Problem melden, werden Sie möglicherweise aufgefordert, Protokolle bereitzustellen, die Microsoft bei der Diagnose des Problems unterstützen. Ihre Anwendung sollte keine Abhängigkeit von bestimmten Protokollzeichenfolgen übernehmen, da sie sich ohne Vorheriges von einer SDK-Version in eine andere ändern können. MemoryLogger ist für den Fall konzipiert, in dem Sie Zugriff auf Protokolle erhalten möchten, die in der kurzen Dauer vorgenommen wurden, bevor ein unerwartetes Ereignis auftritt. Wenn Sie beispielsweise eine Spracherkennung ausführen, können Sie den MemoryLogger abspeichern, nachdem ein Ereignis angezeigt wird, das darauf hinweist, dass die Erkennung aufgrund eines Fehlers abgebrochen wurde. 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 ersetzen die ältesten im Puffer. In Version 1.20.0 hinzugefügt.
Die Arbeitsspeicherprotokollierung ist ein prozessweites Konstrukt. Das bedeutet, wenn (z. B.) mehrere Objekte der Spracherkennung parallel ausgeführt werden, gibt es einen Speicherpuffer, der verschachtelte Protokolle aller Erkennungen enthält. Sie können keine separaten Protokolle für jede Erkennung abrufen.
Member
Start
Syntax: public inline static void Start ( );
Beginnt mit der Anmeldung beim internen Speicherpuffer.
Beenden
Syntax: public inline static void Stop ( );
Beendet die Anmeldung beim internen Speicherpuffer.
SetFilters
Syntax: public inline static void SetFilters ( std::initializer_list< std::string > filters );
Legt Filter für die Speicherprotokollierung fest oder löscht sie. Sobald Filter festgelegt sind, wird die Speicherprotokollierung nur mit Protokollzeichenfolgen aktualisiert, die mindestens eine der von den Filtern angegebenen Zeichenfolgen enthalten. Bei der Übereinstimmung wird die Groß-/Kleinschreibung beachtet.
Parameter
-
filters
ist optional. Zu verwendende Filter oder eine leere Liste zum Entfernen zuvor festgelegter Filter.
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.
Parameter
-
filePath
Pfad zu einer Protokolldatei auf dem 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 die Konsolenausgabe). Andere SDK-Threads werden nicht daran gehindert, sich weiterhin beim Puffer anzumelden.
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.
Gibt zurück
Ein Vektor, in den der Inhalt des Speicherpuffers kopiert wurde.
Dadurch wird der Speicherpuffer nicht zurückgesetzt (gelöscht).
SetLevel
Syntax: public inline static void SetLevel ( Level level );
Legt die Ebene der nachrichten fest, die von der Protokollierung erfasst werden sollen.
Parameter
-
level
Maximale Detailgenauigkeit, die vom Protokollierer erfasst werden soll.