Share via


Clase Diagnostics::Logging::MemoryLogger

Clase con métodos estáticos para controlar el inicio de sesión del SDK en un búfer en memoria. Al activar el registro mientras se ejecuta el escenario del SDK de Voz, se proporciona información detallada de los componentes nativos principales del SDK. Si notifica un problema a Microsoft, es posible que se le pida que proporcione registros para ayudar a Microsoft a diagnosticar el problema. La aplicación no debe depender de cadenas de registro concretas, ya que pueden cambiar de una versión del SDK a otra sin previo aviso. MemoryLogger está diseñado para el caso en el que desea obtener acceso a los registros que se tomaron en la corta duración antes de que se produzca algún evento inesperado. Por ejemplo, si ejecuta speech Recognizer, puede que desee volcar MemoryLogger después de obtener un evento que indica que se canceló el reconocimiento debido a algún error. El tamaño del búfer de memoria se fija en 2 MB y no se puede cambiar. Se trata de un búfer de "anillo", es decir, las nuevas cadenas de registro escritas reemplazan a las más antiguas del búfer. Se agregó en la versión 1.20.0.

El registro de memoria es una construcción en todo el proceso. Esto significa que si (por ejemplo) tiene varios objetos de reconocedor de voz que se ejecutan en paralelo, habrá un búfer de memoria que contenga registros intercalados de todos los reconocedores. No se pueden obtener registros independientes para cada reconocedor.

Miembros

Inicio

Sintaxis: public inline static void Start ( );

Inicia el inicio de sesión en el búfer de memoria interno.

Stop

Sintaxis: public inline static void Stop ( );

Detiene el inicio de sesión en el búfer de memoria interno.

SetFilters

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

Establece o borra filtros para el registro de memoria. Una vez establecidos los filtros, el registrador de memoria solo se actualizará con cadenas de registro que contengan al menos una de las cadenas especificadas por los filtros. La coincidencia distingue mayúsculas de minúsculas.

Parámetros

  • filters Opcional. Filtros que se van a usar o una lista vacía para quitar filtros establecidos previamente.

Descarga

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

Escribe el contenido del búfer de memoria completo en el archivo especificado. No impide que otros subprocesos del SDK continúen iniciando sesión en el búfer.

Parámetros

  • filePath Ruta de acceso a un archivo de registro en el disco local.

Esto no restablece (borra) el búfer de memoria.

Descarga

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

Escribe el contenido de todo el búfer de memoria en un objeto que implementa std::ostream. Por ejemplo, std::cout (para la salida de la consola). No impide que otros subprocesos del SDK continúen iniciando sesión en el búfer.

Parámetros

  • outStream objeto std::ostream en el que se va a escribir.

Esto no restablece (borra) el búfer de memoria.

Descarga

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

Devuelve el contenido del búfer de memoria completa como vector de cadenas. No impide que otros subprocesos del SDK continúen iniciando sesión en el búfer.

Devoluciones

Vector con el contenido del búfer de memoria copiado en él.

Esto no restablece (borra) el búfer de memoria.

SetLevel

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

Establece el nivel de los mensajes que el registrador capturará.

Parámetros

  • level Nivel máximo de detalle que capturará el registrador.