DefaultTraceListener DefaultTraceListener DefaultTraceListener DefaultTraceListener Class

Definição

Fornece os métodos de saída padrão e o comportamento do rastreamento.Provides the default output methods and behavior for tracing.

public ref class DefaultTraceListener : System::Diagnostics::TraceListener
[System.Runtime.InteropServices.ComVisible(false)]
public class DefaultTraceListener : System.Diagnostics.TraceListener
type DefaultTraceListener = class
    inherit TraceListener
Public Class DefaultTraceListener
Inherits TraceListener
Herança
Atributos

Exemplos

O exemplo de código a seguir calcula os coeficientes binomial, que são valores usados em probabilidade e estatísticas.The following code example calculates binomial coefficients, which are values used in probability and statistics. Este exemplo usa um DefaultTraceListener para rastrear resultados e erros de log.This example uses a DefaultTraceListener to trace results and log errors. Ele cria um novo DefaultTraceListener, adiciona-o Trace.Listeners à coleção e define a LogFileName propriedade para o arquivo de log especificado nos argumentos da linha de comando.It creates a new DefaultTraceListener, adds it to the Trace.Listeners collection, and sets the LogFileName property to the log file specified in the command-line arguments.

Se um erro for detectado durante o processamento do parâmetro de entrada ou se CalcBinomial a função lançar uma exceção, Fail o método registrará e exibirá uma mensagem de erro.If an error is detected while processing the input parameter, or if the CalcBinomial function throws an exception, the Fail method logs and displays an error message. Se a AssertUiEnabled propriedade for false, a mensagem de erro também será gravada no console.If the AssertUiEnabled property is false, the error message is also written to the console. Quando o resultado é calculado com êxito, os Write(String) métodos WriteLine(String) e gravam os resultados no arquivo de log.When the result is calculated successfully, the Write(String) and WriteLine(String) methods write the results to the log file.

Os Failmétodos Write, DefaultTraceListenere WriteLine fazem com que as informações de rastreamento sejam gravadas apenas no.The Fail, Write, and WriteLine methods cause trace information to be written only to the DefaultTraceListener. Para gravar informações de rastreamento em todos os ouvintes Trace.Listeners na coleção, use Failos Writemétodos, WriteLine e da Trace classe.To write trace information to all listeners in the Trace.Listeners collection, use the Fail, Write, and WriteLine methods of the Trace class.

using System;
using System.Diagnostics;
using Microsoft.VisualBasic;

class Binomial
{

    // args(0) is the number of possibilities for binomial coefficients.
    // args(1) is the file specification for the trace log file.
    public static void Main(string[] args)
    {

        decimal possibilities;
        decimal iter;

        // Remove the original default trace listener.
        Trace.Listeners.RemoveAt(0);

        // Create and add a new default trace listener.
        DefaultTraceListener defaultListener;
        defaultListener = new DefaultTraceListener();
        Trace.Listeners.Add(defaultListener);

        // Assign the log file specification from the command line, if entered.
        if (args.Length>=2)
        {
            defaultListener.LogFileName = args[1];
        }

        // Validate the number of possibilities argument.
        if (args.Length>=1)

            // Verify that the argument is a number within the correct range.
        {
            try
            {
                const decimal MAX_POSSIBILITIES = 99;
                possibilities = Decimal.Parse(args[0]);
                if (possibilities<0||possibilities>MAX_POSSIBILITIES)
                {
                    throw new Exception(String.Format("The number of possibilities must " +
                        "be in the range 0..{0}.", MAX_POSSIBILITIES));
                }
            }
            catch(Exception ex)
            {
                string failMessage = String.Format("\"{0}\" " +
                    "is not a valid number of possibilities.", args[0]);
                defaultListener.Fail(failMessage, ex.Message);
                if (!defaultListener.AssertUiEnabled)
                {
                    Console.WriteLine(failMessage+ "\n" +ex.Message);
                }
                return;
            }
        }
        else
        {
            // Report that the required argument is not present.
            const string ENTER_PARAM = "Enter the number of " +
                      "possibilities as a command line argument.";
            defaultListener.Fail(ENTER_PARAM);
            if (!defaultListener.AssertUiEnabled)
            {
                Console.WriteLine(ENTER_PARAM);
            }
            return;
        }

        for(iter=0; iter<=possibilities; iter++)
        {
            decimal result;
            string binomial;

            // Compute the next binomial coefficient and handle all exceptions.
            try
            {
                result = CalcBinomial(possibilities, iter);
            }
            catch(Exception ex)
            {
                string failMessage = String.Format("An exception was raised when " +
                    "calculating Binomial( {0}, {1} ).", possibilities, iter);
                defaultListener.Fail(failMessage, ex.Message);
                if (!defaultListener.AssertUiEnabled)
                {
                    Console.WriteLine(failMessage+ "\n" +ex.Message);
                }
                return;
            }

            // Format the trace and console output.
            binomial = String.Format("Binomial( {0}, {1} ) = ", possibilities, iter);
            defaultListener.Write(binomial);
            defaultListener.WriteLine(result.ToString());
            Console.WriteLine("{0} {1}", binomial, result);
        }
    }

    public static decimal CalcBinomial(decimal possibilities, decimal outcomes)
    {

        // Calculate a binomial coefficient, and minimize the chance of overflow.
        decimal result = 1;
        decimal iter;
        for(iter=1; iter<=possibilities-outcomes; iter++)
        {
            result *= outcomes+iter;
            result /= iter;
        }
        return result;
    }
}
Imports System.Diagnostics

Module Binomial

    ' args(0) is the number of possibilities for binomial coefficients.
    ' args(1) is the file specification for the trace log file.
    Sub Main(ByVal args() As String)

        Dim possibilities As Decimal
        Dim iter As Decimal

        ' Remove the original default trace listener.
        Trace.Listeners.RemoveAt(0)

        ' Create and add a new default trace listener.
        Dim defaultListener As DefaultTraceListener
        defaultListener = New DefaultTraceListener
        Trace.Listeners.Add(defaultListener)

        ' Assign the log file specification from the command line, if entered.
        If args.Length >= 2 Then
            defaultListener.LogFileName = args(1)
        End If

        ' Validate the number of possibilities argument.
        If args.Length >= 1 Then

            ' Verify that the argument is a number within the correct range.
            Try
                Const MAX_POSSIBILITIES As Decimal = 99
                possibilities = Decimal.Parse(args(0))
                If possibilities < 0 Or possibilities > MAX_POSSIBILITIES Then
                    Throw New Exception( _
                        String.Format("The number of possibilities must " & _
                            "be in the range 0..{0}.", MAX_POSSIBILITIES))
                End If
            Catch ex As Exception
                Dim failMessage As String = String.Format("""{0}"" " & _
                    "is not a valid number of possibilities.", args(0))
                defaultListener.Fail(failMessage, ex.Message)
                If Not defaultListener.AssertUiEnabled Then
                    Console.WriteLine(failMessage & vbCrLf & ex.Message)
                End If
                Return
            End Try
        Else
            ' Report that the required argument is not present.
            Const ENTER_PARAM As String = "Enter the number of " & _
                "possibilities as a command line argument."
            defaultListener.Fail(ENTER_PARAM)
            If Not defaultListener.AssertUiEnabled Then
                Console.WriteLine(ENTER_PARAM)
            End If
            Return
        End If

        For iter = 0 To possibilities
            Dim result As Decimal
            Dim binomial As String

            ' Compute the next binomial coefficient and handle all exceptions.
            Try
                result = CalcBinomial(possibilities, iter)
            Catch ex As Exception
                Dim failMessage As String = String.Format( _
                        "An exception was raised when " & _
                        "calculating Binomial( {0}, {1} ).", _
                        possibilities, iter)
                defaultListener.Fail(failmessage, ex.Message)
                If Not defaultListener.AssertUiEnabled Then
                    Console.WriteLine(failMessage & vbCrLf & ex.Message)
                End If
                Return
            End Try

            ' Format the trace and console output.
            binomial = String.Format("Binomial( {0}, {1} ) = ", _
                            possibilities, iter)
            defaultListener.Write(binomial)
            defaultListener.WriteLine(result.ToString)
            Console.WriteLine("{0} {1}", binomial, result)
        Next
    End Sub

    Function CalcBinomial(ByVal possibilities As Decimal, _
                        ByVal outcomes As Decimal) As Decimal

        ' Calculate a binomial coefficient, and minimize the chance of overflow.
        Dim result As Decimal = 1
        Dim iter As Decimal
        For iter = 1 To possibilities - outcomes
            result *= outcomes + iter
            result /= iter
        Next
        Return result
    End Function
End Module

Comentários

Uma instância dessa classe é adicionada automaticamente às Debug.Listeners coleções e. Trace.ListenersAn instance of this class is automatically added to the Debug.Listeners and Trace.Listeners collections. Adicionar explicitamente um segundo DefaultTraceListener causa mensagens duplicadas na janela de saída do depurador e caixas de mensagem duplicadas para declarações.Explicitly adding a second DefaultTraceListener causes duplicate messages in the debugger output window and duplicate message boxes for asserts.

Por padrão, os Write métodos WriteLine e emitem a mensagem para a função OutputDebugString do Win32 e Debugger.Log para o método.By default, the Write and WriteLine methods emit the message to the Win32 OutputDebugString function and to the Debugger.Log method.

O Fail método, por padrão, exibe uma caixa de mensagem quando o aplicativo está sendo executado em um modo de interface do usuário; ele também emite WriteLinea mensagem usando.The Fail method, by default, displays a message box when the application is running in a user interface mode; it also emits the message using WriteLine.

Observação

A exibição da caixa de mensagem para Assert chamadas Fail de método e depende da presença do DefaultTraceListener.The display of the message box for Assert and Fail method calls depends on the presence of the DefaultTraceListener. Se o DefaultTraceListener não estiver Listeners na coleção, a caixa de mensagem não será exibida.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. O DefaultTraceListener pode ser removido Listeners Clear System.Diagnostics.Trace.Listeners.Clear() <pelo elemento <Clear >, pelo elemento remove > ou pela chamada do método na propriedade ().The DefaultTraceListener can be removed by the <clear> element, by the <remove> element, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

Você deve habilitar o rastreamento ou a depuração para usar um ouvinte de rastreamento.You must enable tracing or debugging to use a trace listener. A sintaxe a seguir é específica do compilador.The following syntax is compiler specific. Se você usar compiladores diferentes de C# ou Visual Basic, consulte a documentação do seu compilador.If you use compilers other than C# or Visual Basic, refer to the documentation for your compiler.

  • Para habilitar a depuração C#no, adicione /d:DEBUG o sinalizador à linha de comando do compilador ao compilar o código ou adicione #define DEBUG -o à parte superior do arquivo.To enable debugging in C#, add the /d:DEBUG flag to the compiler command line when you compile your code, or add #define DEBUG to the top of your file. Em Visual Basic, adicione o /d:DEBUG=True sinalizador à linha de comando do compilador.In Visual Basic, add the /d:DEBUG=True flag to the compiler command line.

  • Para habilitar o rastreamento C#no, adicione /d:TRACE o sinalizador à linha de comando do compilador ao compilar o código ou adicione #define TRACE -o à parte superior do arquivo.To enable tracing in C#, add the /d:TRACE flag to the compiler command line when you compile your code, or add #define TRACE to the top of your file. Em Visual Basic, adicione o /d:TRACE=True sinalizador à linha de comando do compilador.In Visual Basic, add the /d:TRACE=True flag to the compiler command line.

Para adicionar um ouvinte de rastreamento, edite o arquivo de configuração que corresponde ao nome do seu aplicativo.To add a trace listener, edit the configuration file that corresponds to the name of your application. Nesse arquivo, você pode adicionar um ouvinte, definir seu tipo e definir seus parâmetros, remover um ouvinte ou limpar todos os ouvintes definidos anteriormente pelo aplicativo.Within this file, you can add a listener, set its type and set its parameters, remove a listener, or clear all the listeners previously set by the application. O arquivo de configuração deve ser formatado semelhante ao exemplo a seguir:The configuration file should be formatted similar to the following example:

<configuration>  
<system.diagnostics>  
  <trace autoflush="false" indentsize="4">  
    <listeners>  
      <remove name="Default" />  
      <add name="myListener"  type="System.Diagnostics.TextWriterTraceListener"    initializeData="c:\myListener.log" />  
    </listeners>  
  </trace>  
</system.diagnostics>  
</configuration>  

Construtores

DefaultTraceListener() DefaultTraceListener() DefaultTraceListener() DefaultTraceListener()

Inicializa uma nova instância da classe DefaultTraceListener com “Default” como o valor da propriedade Name.Initializes a new instance of the DefaultTraceListener class with "Default" as its Name property value.

Propriedades

AssertUiEnabled AssertUiEnabled AssertUiEnabled AssertUiEnabled

Obtém ou define um valor que indica se o aplicativo está sendo executado no modo de interface do usuário.Gets or sets a value indicating whether the application is running in user-interface mode.

Attributes Attributes Attributes Attributes

Obtém os atributos do ouvinte de rastreamento personalizados definidos no arquivo de configuração de aplicativo.Gets the custom trace listener attributes defined in the application configuration file.

(Inherited from TraceListener)
Filter Filter Filter Filter

Obtém ou define o filtro de rastreamento para o ouvinte de rastreamento.Gets or sets the trace filter for the trace listener.

(Inherited from TraceListener)
IndentLevel IndentLevel IndentLevel IndentLevel

Obtém ou define o nível de recuo.Gets or sets the indent level.

(Inherited from TraceListener)
IndentSize IndentSize IndentSize IndentSize

Obtém ou define o número de espaços em um recuo.Gets or sets the number of spaces in an indent.

(Inherited from TraceListener)
IsThreadSafe IsThreadSafe IsThreadSafe IsThreadSafe

Obtém um valor que indica se o ouvinte de rastreamento é thread-safe.Gets a value indicating whether the trace listener is thread safe.

(Inherited from TraceListener)
LogFileName LogFileName LogFileName LogFileName

Obtém ou define o nome de um arquivo de log no qual as mensagens de rastreamento e depuração serão gravadas.Gets or sets the name of a log file to write trace or debug messages to.

Name Name Name Name

Obtém ou define um nome para este TraceListener.Gets or sets a name for this TraceListener.

(Inherited from TraceListener)
NeedIndent NeedIndent NeedIndent NeedIndent

Obtém ou define um valor que indica se a saída deve ser recuada.Gets or sets a value indicating whether to indent the output.

(Inherited from TraceListener)
TraceOutputOptions TraceOutputOptions TraceOutputOptions TraceOutputOptions

Obtém ou define as opções de saída de rastreamento.Gets or sets the trace output options.

(Inherited from TraceListener)

Métodos

Close() Close() Close() Close()

Quando substituído em uma classe derivada, fecha o fluxo de saída para que ele não receba mais saídas de rastreamento ou depuração.When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output.

(Inherited from TraceListener)
CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Libera todos os recursos usados pelo TraceListener.Releases all resources used by the TraceListener.

(Inherited from TraceListener)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera os recursos não gerenciados usados pelo TraceListener e opcionalmente libera os recursos gerenciados.Releases the unmanaged resources used by the TraceListener and optionally releases the managed resources.

(Inherited from TraceListener)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fail(String) Fail(String) Fail(String) Fail(String)

Emite ou exibe uma mensagem e um rastreamento de pilha para uma declaração que sempre falha.Emits or displays a message and a stack trace for an assertion that always fails.

Fail(String, String) Fail(String, String) Fail(String, String) Fail(String, String)

Emite ou exibe mensagens detalhadas e um rastreamento de pilha para uma declaração que sempre falha.Emits or displays detailed messages and a stack trace for an assertion that always fails.

Flush() Flush() Flush() Flush()

Quando substituído em uma classe derivada, libera o buffer de saída.When overridden in a derived class, flushes the output buffer.

(Inherited from TraceListener)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetSupportedAttributes() GetSupportedAttributes() GetSupportedAttributes() GetSupportedAttributes()

Obtém os atributos personalizados com suporte no ouvinte de rastreamento.Gets the custom attributes supported by the trace listener.

(Inherited from TraceListener)
GetType() GetType() GetType() GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ToString() ToString() ToString() ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object) TraceData(TraceEventCache, String, TraceEventType, Int32, Object) TraceData(TraceEventCache, String, TraceEventType, Int32, Object) TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Grava as informações de rastreamento, um objeto de dados e informações de evento para a saída específica do ouvinte.Writes trace information, a data object and event information to the listener specific output.

(Inherited from TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) TraceData(TraceEventCache, String, TraceEventType, Int32, Object[]) TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Grava informações de rastreamento, uma matriz de objetos de dados e informações de evento na saída específica do ouvinte.Writes trace information, an array of data objects and event information to the listener specific output.

(Inherited from TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32) TraceEvent(TraceEventCache, String, TraceEventType, Int32) TraceEvent(TraceEventCache, String, TraceEventType, Int32) TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Grava as informações de rastreamento e evento para a saída específica do ouvinte.Writes trace and event information to the listener specific output.

(Inherited from TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) TraceEvent(TraceEventCache, String, TraceEventType, Int32, String) TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Grava informações de rastreamento, uma mensagem e informações de evento na saída específica do ouvinte.Writes trace information, a message, and event information to the listener specific output.

(Inherited from TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[]) TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Grava informações de rastreamento, uma matriz de objetos formatada e informações de evento na saída específica do ouvinte.Writes trace information, a formatted array of objects and event information to the listener specific output.

(Inherited from TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid) TraceTransfer(TraceEventCache, String, Int32, String, Guid) TraceTransfer(TraceEventCache, String, Int32, String, Guid) TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Grava informações de rastreamento, uma mensagem, uma identidade de atividade relacionada e informações de evento na saída específica do ouvinte.Writes trace information, a message, a related activity identity and event information to the listener specific output.

(Inherited from TraceListener)
Write(Object) Write(Object) Write(Object) Write(Object)

Grava o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener.Writes the value of the object's ToString() method to the listener you create when you implement the TraceListener class.

(Inherited from TraceListener)
Write(Object, String) Write(Object, String) Write(Object, String) Write(Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener.Writes a category name and the value of the object's ToString() method to the listener you create when you implement the TraceListener class.

(Inherited from TraceListener)
Write(String) Write(String) Write(String) Write(String)

Grava a saída na função OutputDebugString e no método Log(Int32, String, String).Writes the output to the OutputDebugString function and to the Log(Int32, String, String) method.

Write(String, String) Write(String, String) Write(String, String) Write(String, String)

Grava um nome de categoria e uma mensagem no ouvinte criado ao implementar a classe TraceListener.Writes a category name and a message to the listener you create when you implement the TraceListener class.

(Inherited from TraceListener)
WriteIndent() WriteIndent() WriteIndent() WriteIndent()

Grava o recuo para o ouvinte criar durante a implementação dessa classe e redefine a propriedade NeedIndent para false.Writes the indent to the listener you create when you implement this class, and resets the NeedIndent property to false.

(Inherited from TraceListener)
WriteLine(Object) WriteLine(Object) WriteLine(Object) WriteLine(Object)

Grava o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha.Writes the value of the object's ToString() method to the listener you create when you implement the TraceListener class, followed by a line terminator.

(Inherited from TraceListener)
WriteLine(Object, String) WriteLine(Object, String) WriteLine(Object, String) WriteLine(Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha.Writes a category name and the value of the object's ToString() method to the listener you create when you implement the TraceListener class, followed by a line terminator.

(Inherited from TraceListener)
WriteLine(String) WriteLine(String) WriteLine(String) WriteLine(String)

Grava a saída para a função OutputDebugString e o método Log(Int32, String, String), seguido por um retorno de carro e alimentação de linha (\r\n).Writes the output to the OutputDebugString function and to the Log(Int32, String, String) method, followed by a carriage return and line feed (\r\n).

WriteLine(String, String) WriteLine(String, String) WriteLine(String, String) WriteLine(String, String)

Grava um nome de categoria e uma mensagem no ouvinte criado ao implementar a classe TraceListener, seguido por um terminador de linha.Writes a category name and a message to the listener you create when you implement the TraceListener class, followed by a line terminator.

(Inherited from TraceListener)

Aplica-se a

Acesso thread-safe

Essa classe é thread-safe.This class is thread safe.

Veja também