Elemento <add> para <listeners> para <source>

Adiciona um ouvinte na coleção Listeners de uma origem de rastreamento.

<configuration>
  <system.diagnostics>
    <sources>
      <source>
        <ouvintes>
          <add>

Syntax

<add name="name"
  type="TraceListenerClassName, Version, Culture, PublicKeyToken"  
  initializeData="data"/>  

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
type Atributo obrigatório, exceto se estiver fazendo referência a um ouvinte na coleção sharedListeners, nesse caso, faça a referência dele apenas pelo nome (consulte o Exemplo).

Especifica o tipo do ouvinte. Use uma cadeia de caracteres que atenda aos requisitos especificados em Especificar nomes de tipo totalmente qualificados.
initializeData Atributo opcional.

A cadeia de caracteres passada para o construtor da classe especificada. Uma ConfigurationException será gerada se a classe não tiver um construtor que receba uma cadeia de caracteres.
name Atributo opcional.

Especifica o nome do ouvinte.
traceOutputOptions Atributo opcional.

Especifica o valor da propriedade TraceOutputOptions para o ouvinte de rastreamento.
[atributos personalizados] Atributos opcionais.

Especifica o valor dos atributos específicos do ouvinte identificados pelo método GetSupportedAttributes para esse ouvinte. Delimiter é um exemplo de um atributo adicional exclusivo para a classe DelimitedListTraceListener.

Elementos filho

Elemento Descrição
<filter> Adiciona um filtro a um ouvinte na coleção Listeners de uma origem de rastreamento.

Elementos pai

Elemento Descrição
configuration O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework.
system.diagnostics Especifica os ouvintes de rastreamento que coletam, armazenam e roteiam mensagens e o nível em que uma opção de rastreamento é definida.
sources Contém as origens de rastreamento que iniciam as mensagens de rastreamento.
source Especifica uma origem de rastreamento que inicia as mensagens de rastreamento.
listeners Especifica ouvintes que coletam, armazenam e roteiam mensagens.

Comentários

As classes de ouvinte enviadas com o .NET Framework derivam da classe TraceListener.

Se você não especificar o atributo name do ouvinte de rastreamento, a propriedade Name do ouvinte de rastreamento será a padrão para uma cadeia de caracteres vazia (""). Se o aplicativo tiver apenas um ouvinte, você poderá adicioná-lo sem especificar um nome e removê-lo especificando uma cadeia de caracteres vazia para o nome. No entanto, se o aplicativo tiver mais de um ouvinte, será necessário especificar um nome exclusivo para cada ouvinte de rastreamento, o que permitirá identificar e gerenciar os ouvintes de rastreamento individuais na coleção TraceSource.Listeners.

Observação

Adicionar mais de um ouvinte de rastreamento do mesmo tipo e com o mesmo nome resultará em apenas um ouvinte de rastreamento desse tipo e nome sendo adicionado à coleção Listeners. No entanto, você poderá adicionar programaticamente vários ouvintes idênticos à coleção Listeners.

O valor do atributo initializeData dependerá do tipo de ouvinte que você criar. Nem todos os ouvintes de rastreamento exigem que você especifique initializeData.

Observação

Ao usar o atributo initializeData, você poderá receber o aviso do compilador "O atributo 'initializeData' não é declarado". Esse aviso ocorre porque as definições de configuração são validadas na classe base abstrata TraceListener, que não reconhecerá o atributoinitializeData. Normalmente, é possível ignorar esse aviso para implementações de ouvinte de rastreamento que possuem um construtor que recebe um parâmetro.

A tabela a seguir mostra os ouvintes de rastreamento incluídos no .NET Framework e descreve o valor dos respectivos atributos initializeData.

Classe de ouvinte de rastreamento valor do atributo initializeData
System.Diagnostics.ConsoleTraceListener O valor useErrorStream do construtor ConsoleTraceListener. Defina o atributo initializeData como "true" para gravar a saída de rastreamento e depuração para o fluxo de erro padrão e defina-o como "false" para gravar no fluxo de saída padrão.
System.Diagnostics.DelimitedListTraceListener O nome do arquivo no qual o DelimitedListTraceListener é gravado.
System.Diagnostics.EventLogTraceListener O nome da origem de um log de eventos existente.
System.Diagnostics.EventSchemaTraceListener O nome do arquivo no qual o EventSchemaTraceListener é gravado.
System.Diagnostics.TextWriterTraceListener O nome do arquivo no qual o TextWriterTraceListener é gravado.
System.Diagnostics.XmlWriterTraceListener O nome do arquivo no qual o XmlWriterTraceListener é gravado.

Arquivo de configuração

Esse elemento pode ser usado no arquivo de configuração do computador (Machine.config) e no arquivo de configuração de aplicativo.

Exemplo

O exemplo a seguir mostra como usar elementos <add> para adicionar os ouvintes console e textListener à coleção Listeners para a origem de rastreamento TraceSourceApp. O ouvinte textListener grava a saída de rastreamento no arquivo myListener.log.

<configuration>  
  <system.diagnostics>  
    <sources>  
      <source name="TraceSourceApp" switchName="sourceSwitch"
        switchType="System.Diagnostics.SourceSwitch">  
        <listeners>  
          <add name="console"
            type="System.Diagnostics.ConsoleTraceListener"/>  
          <add name="textListener"/>  
          <remove name="Default"/>  
        </listeners>  
      </source>  
    </sources>  
    <sharedListeners>  
      <add name="textListener"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="myListener.log"/>  
    </sharedListeners>  
    <switches>  
      <add name="sourceSwitch" value="Warning"/>  
    </switches>  
  </system.diagnostics>  
</configuration>

Confira também