Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O exemplo de CircularTracing demonstra a implementação de um ouvinte de rastreamento de buffer circular. Um cenário comum para serviços de produção é ter serviços disponíveis por longos períodos de tempo e ter o log de rastreamento habilitado em um nível baixo. Esses serviços consomem muito espaço em disco. Ao solucionar problemas de um serviço, os dados mais recentes no log de rastreamento são relevantes para resolver um problema. Este exemplo demonstra a implementação de um registrador de rastreamento com buffer circular, no qual apenas os rastreamentos mais recentes são mantidos no disco, até uma quantidade de dados configurável. Esse exemplo é baseado na Introdução e inclui um ouvinte de rastreamento personalizado.
Observação
O procedimento de instalação e as instruções de build para este exemplo estão localizados no final deste tópico.
Este exemplo pressupõe que você esteja familiarizado com o exemplo de Rastreamento e Registro em Log de Mensagens e leu a documentação fornecida para o exemplo de Rastreamento e Registro em Log de Mensagens .
Ouvinte de rastreamento de buffer circular
O conceito por trás da implementação do Circular Buffer Trace Listener é possuir dois arquivos que possam armazenar até metade do total desejado de dados de log de rastreamento. O ouvinte cria um arquivo e grava nesse arquivo até atingir o limite de metade do tamanho dos dados, momento em que ele alterna para um segundo arquivo. Quando o ouvinte atinge o limite do segundo arquivo, substitui o primeiro arquivo por novos rastreamentos.
Esse ouvinte deriva do XmlWriteTraceListener e permite que os logs sejam exibidos com a Ferramenta do Visualizador de Rastreamento de Serviço (SvcTraceViewer.exe). Ao tentar exibir os logs, os dois arquivos de log podem ser facilmente recombinados abrindo ambos os arquivos de log ao mesmo tempo na ferramenta Visualizador de Rastreamento de Serviço. A ferramenta Visualizador de Rastreamento de Serviço cuida automaticamente da classificação dos rastreamentos para que eles apareçam na ordem correta.
Configuração
Um serviço pode ser configurado para usar o Ouvinte de Rastreamento de Buffer Circular ao adicionar o código a seguir para um ouvinte e elementos de origem. O tamanho máximo do arquivo é especificado definindo o maxFileSizeKB atributo na configuração do ouvinte de rastreamento circular. Isso é demonstrado no código a seguir.
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="true">
<listeners>
<add name="CircularTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="CircularTraceListener" type="Microsoft. Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
initializeData="c:\logs\CircularTracing-service.svclog" maxFileSizeKB="100" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
Para configurar, compilar e executar o exemplo
Verifique se você executou o procedimento de instalaçãoOne-Time para os exemplos do Windows Communication Foundation.
Para compilar a edição .NET do C# ou do Visual Basic da solução, siga as instruções contidas em Como Compilar as Amostras do Windows Communication Foundation.
Para executar o exemplo em uma configuração de computador único ou cruzado, siga as instruções em Executar os exemplos do Windows Communication Foundation.