Diagnósticos de classe::Registo::MemoryLogger
Classe com métodos estáticos para controlar o registo do SDK numa memória intermédia dentro da memória. Ativar o registo durante a execução do cenário do SDK de Voz fornece informações detalhadas dos componentes nativos principais do SDK. Se comunicar um problema à Microsoft, poderá ser-lhe pedido para fornecer registos para ajudar a Microsoft a diagnosticar o problema. A aplicação não deve ter dependência em cadeias de registo específicas, uma vez que podem mudar de uma versão do SDK para outra sem aviso prévio. O MemoryLogger foi concebido para o caso em que pretende obter acesso aos registos que foram realizados no curto período de tempo antes de ocorrer algum evento inesperado. Por exemplo, se estiver a executar um Reconhecedor de Voz, poderá querer capturar o MemoryLogger depois de receber um evento que indica que o reconhecimento foi cancelado devido a algum erro. O tamanho da memória intermédia é fixo em 2 MB e não pode ser alterado. Trata-se de uma memória intermédia "ring", ou seja, as novas cadeias de registo escritas substituem as mais antigas na memória intermédia. Adicionado na versão 1.20.0.
O registo de memória é uma construção alargada de processos. Isto significa que, se (por exemplo) tiver vários objetos de reconhecimento de voz em execução em paralelo, existirá uma memória intercalada com registos intercalados de todos os reconhecedores. Não pode obter registos separados para cada reconhecedor.
Membros
Iniciar
Sintaxe: public inline static void Start ( );
Começa a iniciar sessão na memória intermédia interna.
Parar
Sintaxe: public inline static void Stop ( );
Para o registo na memória intermédia interna.
DefinirFiltros
Sintaxe: public inline static void SetFilters ( std::initializer_list< std::string > filters );
Define ou limpa filtros para o registo de memória. Assim que os filtros estiverem definidos, o logger de memória só será atualizado com cadeias de registo que contenham, pelo menos, uma das cadeias especificadas pelos filtros. A correspondência é sensível a maiúsculas e minúsculas.
Parâmetros
-
filters
Opcional. Filtros a utilizar ou uma lista vazia para remover filtros anteriormente definidos.
Informação de Falha de Sistema
Sintaxe: public inline static void Dump ( const SPXSTRING & filePath );
Escreve o conteúdo de toda a memória intermédia no ficheiro especificado. Não impede que outros threads do SDK continuem a iniciar sessão na memória intermédia.
Parâmetros
-
filePath
Caminho para um ficheiro de registo no disco local.
Esta ação não repõe (limpar) a memória intermédia.
Informação de Falha de Sistema
Sintaxe: public inline static void Dump ( std::ostream & outStream );
Escreve o conteúdo de toda a memória intermédia num objeto que implementa std::ostream. Por exemplo, std::cout (para saída da consola). Não impede que outros threads do SDK continuem a iniciar sessão na memória intermédia.
Parâmetros
-
outStream
std::ostream object to write to.
Esta ação não repõe (limpar) a memória intermédia.
Informação de Falha de Sistema
Sintaxe: public inline static std::vector< std::string > Dump ( );
Devolve o conteúdo de toda a memória intermédia como um vetor de cadeias. Não impede que outros threads do SDK continuem a iniciar sessão na memória intermédia.
Devoluções
Um vetor com o conteúdo da memória intermédia copiada para o mesmo.
Esta ação não repõe (limpar) a memória intermédia.
NívelDeFinição
Sintaxe: public inline static void SetLevel ( Level level );
Define o nível das mensagens a capturar pelo logger.
Parâmetros
-
level
Nível máximo de detalhes a capturar pelo logger.