Compartilhar via


classe Diagnostics::Logging::MemoryLogger

Classe com métodos estáticos para controlar o logon do SDK em um buffer na memória. Ativar o registro em log durante a execução do cenário do SDK de Fala fornece informações detalhadas dos principais componentes nativos do SDK. Se você relatar um problema à Microsoft, talvez seja solicitado que você forneça logs para ajudar a Microsoft a diagnosticar o problema. Seu aplicativo não deve ter dependência em cadeias de caracteres de log específicas, pois elas podem mudar de uma versão do SDK para outra sem aviso prévio. MemoryLogger foi projetado para o caso em que você deseja obter acesso aos logs que foram obtidos na curta duração antes que algum evento inesperado aconteça. Por exemplo, se você estiver executando um Reconhecimento de Fala, talvez queira despejar o MemoryLogger depois de obter um evento indicando que o reconhecimento foi cancelado devido a algum erro. O tamanho do buffer de memória é fixo em 2 MB e não pode ser alterado. Esse é um buffer "ring", ou seja, novas cadeias de caracteres de log gravadas substituem as mais antigas no buffer. Adicionado na versão 1.20.0.

O registro em log de memória é um constructo de todo o processo. Isso significa que, se (por exemplo) você tiver vários objetos de reconhecimento de fala em execução em paralelo, haverá um buffer de memória contendo logs intercalados de todos os reconhecedores. Não é possível obter logs separados para cada reconhecedor.

Membros

Iniciar

Sintaxe: public inline static void Start ( );

Inicia o logon no buffer de memória interno.

Stop

Sintaxe: public inline static void Stop ( );

Interrompe o logon no buffer de memória interno.

SetFilters

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

Define ou limpa filtros para registro em log de memória. Depois que os filtros forem definidos, o agente de memória só será atualizado com cadeias de caracteres de log contendo pelo menos uma das cadeias de caracteres especificadas pelos filtros. A correspondência diferencia maiúsculas de minúsculas.

Parâmetros

  • filters Opcional. Filtros a serem usados ou uma lista vazia para remover filtros definidos anteriormente.

Despejo

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

Grava o conteúdo de todo o buffer de memória no arquivo especificado. Ele não impede que outros threads do SDK continuem a fazer logon no buffer.

Parâmetros

  • filePath Caminho para um arquivo de log no disco local.

Isso não redefine (desmarque) o buffer de memória.

Despejo

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

Grava o conteúdo de todo o buffer de memória em um objeto que implementa std::ostream. Por exemplo, std::cout (para saída do console). Ele não impede que outros threads do SDK continuem a fazer logon no buffer.

Parâmetros

  • outStream objeto std::ostream no qual gravar.

Isso não redefine (desmarque) o buffer de memória.

Despejo

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

Retorna o conteúdo de todo o buffer de memória como um vetor de cadeias de caracteres. Ele não impede que outros threads do SDK continuem a fazer logon no buffer.

Retornos

Um vetor com o conteúdo do buffer de memória copiado nele.

Isso não redefine (desmarque) o buffer de memória.

SetLevel

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

Define o nível das mensagens a serem capturadas pelo agente.

Parâmetros

  • level Nível máximo de detalhes a ser capturado pelo agente.