Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Use o rastreamento para solucionar problemas de um plug-in ou uma atividade de fluxo de trabalho personalizada (código personalizado). O rastreamento ajuda os desenvolvedores gravando informações de runtime, o que ajuda a diagnosticar a causa de falhas de código. O rastreamento dá suporte à execução síncrona ou assíncrona.
Um serviço chamado ITracingService registra informações de rastreamento de runtime para Microsoft Dataverse. O código personalizado pode fornecer informações para esse serviço, que podem ser registradas em três locais diferentes:
Log de rastreamento
O sistema grava registros de log de rastreamento na Tabela PluginTraceLog. As configurações de rastreamento mencionadas em Habilitar o log de rastreamento controlam a gravação desses registros.
Você pode encontrar esses dados em aplicativos orientados por modelo navegando até Configurações e escolhendo o bloco Log de Rastreamento de Plug-in. O bloco estará visível somente se a função de segurança atribuída a você conceder acesso aos registros da tabela de log de rastreamento.
Você pode achar mais fácil exibir esses dados usando a API Web no navegador, conforme mostrado no exemplo em Usar Rastreamento ou usando a ferramenta de comunidade do Visualizador de Rastreamento de Plug-in .
Important
O registro em log de rastreamento ocupa o espaço de armazenamento da organização, especialmente quando gera muitos rastreamentos e exceções. Ative apenas o log de rastreamento para depuração e solução de problemas e desative-o quando terminar.
Caixa de diálogo de erro
Um plug-in registrado síncrono ou uma atividade de fluxo de trabalho personalizada que retorna uma exceção da plataforma resulta em uma caixa de diálogo de erro no aplicativo Web apresentado ao usuário conectado. O usuário pode selecionar o botão Baixar Arquivo de Log na caixa de diálogo para exibir o log que contém exceção e saída de rastreamento.
Trabalho do sistema
Para plug-ins registrados assíncronos ou atividades de fluxo de trabalho personalizadas que geram uma exceção, as informações de rastreamento aparecem na área Detalhes do formulário Trabalho do Sistema no aplicativo da Web.
Habilitar log de rastreio
A gravação de logs de rastreamento depende do valor da coluna PluginTraceLogSetting da tabela Organization. Você pode habilitar o registro de rastreamento em log atualizando programaticamente o valor PluginTraceLogSetting.
Um segundo método para habilitar o log de rastreamento é por meio da aplicação web legada. Vá para Configurações>Administração>Configurações do Sistema. Na guia Personalização, localize o menu suspenso denominado Habilitar o registro em log no log de rastreamento do plug-in e selecione uma das opções disponíveis. Para obter mais informações, consulte Configurações em aplicativos de Interface Unificada e Configurações em aplicativos cliente Web herdados.
Uma terceira opção pode ser encontrada na ferramenta Registro de Plug-in. Depois de conectar a ferramenta à sua organização (ambiente), selecione Configurações>Registro em Log de Rastreamento de Plug-in e, em seguida, selecione uma das opções disponíveis.
| Value | Option | Descrição |
|---|---|---|
| 0 | Desativado | A gravação no log de rastreamento está desativada. Nenhum registro de PluginTraceLog é criado. No entanto, o código personalizado ainda pode chamar o Trace(String, Object[]) método mesmo que nenhum log seja gravado. |
| 1 | Exceções | As informações de rastreamento serão gravadas no log se uma exceção for passada de volta para a plataforma a partir do código personalizado. |
| 2 | All | As informações de rastreamento são gravadas no log após a conclusão do código ou uma exceção é passada de volta para a plataforma a partir do código personalizado. |
Se a configuração de log de rastreamento estiver definida como Exceção e seu código personalizado retornar uma exceção à plataforma, um registro de log de rastreamento será criado e as informações de rastreamento também serão gravadas em outro local. Para código personalizado que é executado de forma síncrona, as informações são apresentadas ao usuário em uma caixa de diálogo de erro, caso contrário, para código assíncrono, as informações são gravadas no trabalho do sistema relacionado.
Escrever no serviço de rastreamento
Antes de escrever no serviço de rastreamento, você deve primeiro extrair o objeto do serviço de rastreamento do contexto de execução fornecido. Posteriormente, adicione chamadas a Trace(String, Object[]) ao seu código personalizado, onde for apropriado, passando quaisquer informações de diagnóstico relevantes nessa chamada de método.
//Extract the tracing service for use in debugging plug-ins.
ITracingService tracingService =
(ITracingService)serviceProvider.GetService(typeof(ITracingService));
// Use the tracing service
tracingService.Trace("Write your message here.");
Em seguida, crie e implante o plug-in ou a atividade de fluxo de trabalho personalizada. Durante a execução do código personalizado, as informações incluídas nas chamadas do método Trace são gravadas por ITracingService em um registro na tabela de log de rastreamento, se houver suporte na sua organização e isso estiver habilitado, e também podem ser disponibilizadas ao usuário em uma caixa de diálogo da Web ou em uma tarefa do sistema, conforme descrito na seção anterior. As informações gravadas no log de rastreamento são definidas nas configurações de rastreamento. Para obter mais informações, consulte Ativar o log de rastreamento.
Note
Se o código personalizado for executado em uma transação de banco de dados e ocorrer uma exceção que cause uma reversão de transação, todas as alterações de dados de tabela pelo código serão desfeitas. No entanto, os registros PluginTraceLog permanecem mesmo após a conclusão da reversão.
Informações adicionais sobre o serviço de rastreamento
O ITracingService agrupa em lotes as informações que recebe por meio do método Trace. Ele grava as informações em um novo registro PluginTraceLog depois que o código personalizado é executado com êxito ou gera uma exceção.
Cada Trace chamada é registrada como uma nova linha na coluna PluginTraceLogMessageBlock . Você pode escrever apenas 10 KB de texto. Para atender a esse limite, o sistema remove linhas de rastreamento mais antigas para que apenas as linhas mais recentes sejam salvas.
Os registros PluginTraceLog têm um tempo de vida finito. Um trabalho em segundo plano de exclusão em massa é executado uma vez por dia para excluir registros com mais de 24 horas de criação. Para evitar o crescimento excessivo do banco de dados, a Microsoft poderá desativar o registro no Log de Rastreamento de Plug-ins se a tabela plugintracelogbase ultrapassar 100 GB.
Cuidado
Embora você possa desabilitar esse trabalho ou ajustar a frequência em que ele ocorre, não defini-lo de volta para a configuração original pode causar problemas de desempenho.
Site da comunidade
Visualizador de traços de plugin
O Visualizador de Rastreamento de Plug-in é uma ferramenta que a comunidade XrmToolBox desenvolveu. Para ferramentas desenvolvidas pela comunidade, consulte o artigo ferramentas da comunidade para o Dataverse .
Note
Microsoft não fornece suporte para ferramentas da comunidade. Se você tiver dúvidas sobre a ferramenta, entre em contato com o editor. Para obter mais informações, consulte XrmToolBox.
Consulte também
Plug-ins
Depurar um plug-in
Exibir logs de rastreamento
Serviço de rastreamento
Tabela PluginTraceLog