Opções de rastreamento.
Opções de rastreamento permitem que você habilitar, desabilitar e filtrar a saída de rastreamento. Eles são objetos que existem no seu código e podem ser configurados externamente por meio do arquivo. config. Existem três tipos de opções de rastreamento fornecidas na.NET Framework: o BooleanSwitch classe, o TraceSwitch classe e o SourceSwitch classe. O BooleanSwitch classe atua como um switch de alternância, ativando ou desativando uma variedade de instruções de rastreamento. O TraceSwitch e SourceSwitch classes permitem que você habilite a um switch de rastreamento para um nível específico de rastreamento para que o Trace ou TraceSource as mensagens especificadas para aquele nível e todos os níveis abaixo dela aparecem. Se você desabilitar a opção, as mensagens de rastreamento não aparecerá. Todas essas classes derivam de resumo (MustInherit) classe Switch, como todos os switches desenvolvidos por usuário.
Opções de rastreamento podem ser útil para filtrar as informações. Por exemplo, você talvez queira ver todas as mensagens de rastreamento em um módulo de acesso de dados, mas as mensagens de erro apenas no restante do aplicativo. Nesse caso, você usaria um rastreamento switch para o módulo de acesso de dados e um para o restante do aplicativo. Usando o arquivo. config para configurar as opções para as configurações apropriadas, você pode controlar quais tipos de mensagem de rastreamento que você recebeu. Para obter mais informações, consulte Como: Criar e inicializar opção de rastreamento e Como: Configurar opções de rastreamento.
Normalmente, um aplicativo implantado é executado com seus switches desativados, para que os usuários não precisam observar muitas mensagens de rastreamento irrelevantes que aparecem em uma tela ou o preenchimento de um arquivo de log do aplicativo ser executado. Se surgir um problema durante a execução do aplicativo, interromper o aplicativo, habilite os switches e reiniciar o aplicativo. Em seguida, as mensagens de rastreamento serão exibidas.
Para usar uma opção, você deve primeiro criar um objeto de switch de uma BooleanSwitch classe, uma TraceSwitch classe ou uma classe de opção definidas pelo desenvolvedor. Para obter mais informações sobre a criação de switches definidos pelo desenvolvedor, consulte A classe de Switch na.Referência do NET Framework. Em seguida, você pode definir um valor de configuração que especifica quando o objeto de switch a ser usado. Teste a configuração do objeto switch em várias rastreamento (ou Debug) os métodos de rastreamento.
Níveis de rastreamento.
Quando você usa TraceSwitch, existem considerações adicionais. A TraceSwitch objeto tem quatro propriedades que retornam Boolean valores indicando se o switch está definido pelo menos um nível específico:
Níveis permitem que você limitar a quantidade de informações de rastreamento que receber apenas as informações necessárias para solucionar um problema. Você especificar o nível de detalhe que você deseja na sua saída de rastreamento, definindo e configurando opções de rastreamento para o nível apropriado de rastreamento. Você pode receber mensagens de erro, mensagens de aviso, mensagens informativas, mensagens de rastreamento detalhado ou nenhuma mensagem.
Ele é totalmente cabe a você decidir que tipo de mensagem para associar a cada nível. Normalmente, o conteúdo das mensagens de rastreamento depende de associar cada nível, mas você determinar as diferenças entre os níveis. Talvez você queira fornecer descrições detalhadas de um problema no nível 3 (informações), por exemplo, mas fornecem apenas um número de referência de erro no nível 1 (erro de). Ele é totalmente cabe a você decidir qual esquema funciona melhor em seu aplicativo.
Essas propriedades correspondem aos valores de 1 a 4 da TraceLevel enumeração. A tabela a seguir lista os níveis da TraceLevel enumeração e seus valores.
Valor enumerado |
Valor inteiro |
Tipo de mensagem exibida (ou gravados para um destino de saída especificado) |
---|---|---|
Desativado |
0 |
Nenhum |
Erro |
1 |
Somente as mensagens de erro |
Aviso |
2 |
Mensagens de aviso e erro |
Informações |
3 |
Mensagens informativas, mensagens de aviso e mensagens de erro |
Verbose |
4 |
Mensagens detalhadas, mensagens informativas, mensagens de aviso e mensagens de erro |
O TraceSwitch propriedades indicam o nível máximo de rastreamento para o switch. Ou seja, informações de rastreamento são gravadas para o nível especificado, bem como para todos os níveis inferiores. Por exemplo, se TraceInfo é true, em seguida, TraceError e TraceWarning também são true , mas TraceVerbose podem ser false.
Essas propriedades são somente leitura. O TraceSwitch objeto os define automaticamente quando o TraceLevel for definida. Por exemplo:
Dim myTraceSwitch As New TraceSwitch("SwitchOne", "The first switch")
myTraceSwitch.Level = TraceLevel.Info
' This message box displays true, becuase setting the level to
' TraceLevel.Info sets all lower levels to true as well.
MessageBox.Show(myTraceSwitch.TraceWarning.ToString())
' This messagebox displays false.
MessageBox.Show(myTraceSwitch.TraceVerbose.ToString())
System.Diagnostics.TraceSwitch myTraceSwitch =
new System.Diagnostics.TraceSwitch("SwitchOne", "The first switch");
myTraceSwitch.Level = System.Diagnostics.TraceLevel.Info;
// This message box displays true, becuase setting the level to
// TraceLevel.Info sets all lower levels to true as well.
MessageBox.Show(myTraceSwitch.TraceWarning.ToString());
// This message box displays false.
MessageBox.Show(myTraceSwitch.TraceVerbose.ToString());
System.Diagnostics.TraceSwitch myTraceSwitch =
new System.Diagnostics.TraceSwitch("SwitchOne", "The first switch");
myTraceSwitch.set_Level(System.Diagnostics.TraceLevel.Info);
// This message box displays true, becuase setting the level to
// TraceLevel.Info sets all lower levels to true as well.
MessageBox.Show(Convert.ToString(myTraceSwitch.get_TraceWarning()));
// This message box displays false.
MessageBox.Show(Convert.ToString(myTraceSwitch.get_TraceVerbose()));}
Switches definidos pelo desenvolvedor
Além de ser BooleanSwitch e TraceSwitch, você pode definir seus próprios switches herdando o Switch personalizado métodos de classe e substituindo os métodos da classe base com. Para obter mais informações sobre a criação de switches definidos pelo desenvolvedor, consulte A classe de Switch na.Referência do NET Framework.
Consulte também
Tarefas
Como: Adicionar instruções de rastreamento ao código do aplicativo
Como: Configurar opções de rastreamento
Conceitos
Introdução à instrumentação e rastreamento