DefaultTraceListener DefaultTraceListener DefaultTraceListener DefaultTraceListener Class

Definizione

Fornisce i metodi di output predefiniti e il comportamento per la traccia.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
Ereditarietà
Attributi

Esempi

Nell'esempio di codice seguente vengono calcolati i coefficienti binomiali, ovvero i valori utilizzati nella probabilità e nelle statistiche.The following code example calculates binomial coefficients, which are values used in probability and statistics. Questo esempio usa un DefaultTraceListener oggetto per tracciare i risultati e registrare gli errori.This example uses a DefaultTraceListener to trace results and log errors. Crea un nuovo DefaultTraceListeneroggetto, lo aggiunge Trace.Listeners alla raccolta e imposta la LogFileName proprietà sul file di log specificato negli argomenti della riga di 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 viene rilevato un errore durante l'elaborazione del parametro di input o se CalcBinomial la funzione genera un'eccezione, Fail il metodo registra e visualizza un messaggio di errore.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 la AssertUiEnabled proprietà è false, anche il messaggio di errore viene scritto nella console.If the AssertUiEnabled property is false, the error message is also written to the console. Quando il risultato viene calcolato correttamente, i Write(String) metodi WriteLine(String) e scrivono i risultati nel file di log.When the result is calculated successfully, the Write(String) and WriteLine(String) methods write the results to the log file.

I Failmetodi Write, DefaultTraceListenere WriteLine fanno in modo che le informazioni di traccia vengano scritte solo in.The Fail, Write, and WriteLine methods cause trace information to be written only to the DefaultTraceListener. Per scrivere le informazioni di traccia in tutti i listener Trace.Listeners della raccolta, usare Faili Writemetodi, WriteLine e della 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
Imports System.Diagnostics
Imports Microsoft.VisualBasic

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

Commenti

Un'istanza di questa classe viene aggiunta automaticamente alle Debug.Listeners raccolte e. Trace.ListenersAn instance of this class is automatically added to the Debug.Listeners and Trace.Listeners collections. Aggiungendo esplicitamente un secondo DefaultTraceListener , i messaggi duplicati vengono visualizzati nella finestra di output del debugger e le finestre di messaggio duplicate per le asserzioni.Explicitly adding a second DefaultTraceListener causes duplicate messages in the debugger output window and duplicate message boxes for asserts.

Per impostazione predefinita, Write i WriteLine metodi e generano il messaggio per la funzione OutputDebugString Win32 e Debugger.Log per il metodo.By default, the Write and WriteLine methods emit the message to the Win32 OutputDebugString function and to the Debugger.Log method.

Per Fail impostazione predefinita, il metodo Visualizza una finestra di messaggio quando l'applicazione è in esecuzione in modalità interfaccia utente e genera anche il messaggio tramite WriteLine.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.

Nota

La visualizzazione della finestra di messaggio per Assert le Fail chiamate al metodo e dipende dalla presenza di DefaultTraceListener.The display of the message box for Assert and Fail method calls depends on the presence of the DefaultTraceListener. Se l' DefaultTraceListener oggetto non è presente Listeners nella raccolta, la finestra di messaggio non viene visualizzata.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. L' DefaultTraceListener oggetto può essere rimossoSystem.Diagnostics.Trace.Listeners.Clear() Clear Listeners <dall'elemento <Clear >, dall'elemento remove > oppure chiamando il metodo sulla proprietà ().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()).

È necessario abilitare la traccia o il debug per utilizzare un listener di traccia.You must enable tracing or debugging to use a trace listener. La sintassi seguente è specifica del compilatore.The following syntax is compiler specific. Se si usano compilatori diversi C# da o Visual Basic, fare riferimento alla documentazione del compilatore.If you use compilers other than C# or Visual Basic, refer to the documentation for your compiler.

  • Per abilitare il debug C#in, aggiungere /d:DEBUG il flag alla riga di comando del compilatore quando si compila il codice oppure #define DEBUG aggiungerlo all'inizio del file.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. In Visual Basic aggiungere il /d:DEBUG=True flag alla riga di comando del compilatore.In Visual Basic, add the /d:DEBUG=True flag to the compiler command line.

  • Per abilitare l'analisi C#in, aggiungere /d:TRACE il flag alla riga di comando del compilatore quando si compila il codice oppure #define TRACE aggiungerlo all'inizio del file.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. In Visual Basic aggiungere il /d:TRACE=True flag alla riga di comando del compilatore.In Visual Basic, add the /d:TRACE=True flag to the compiler command line.

Per aggiungere un listener di traccia, modificare il file di configurazione che corrisponde al nome dell'applicazione.To add a trace listener, edit the configuration file that corresponds to the name of your application. All'interno di questo file è possibile aggiungere un listener, impostarne il tipo e impostarne i parametri, rimuovere un listener o deselezionare tutti i listener precedentemente impostati dall'applicazione.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. Il file di configurazione deve essere formattato in modo simile all'esempio seguente: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>  

Costruttori

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

Inizializza una nuova istanza della classe DefaultTraceListener con "Default" come valore della proprietà Name.Initializes a new instance of the DefaultTraceListener class with "Default" as its Name property value.

Proprietà

AssertUiEnabled AssertUiEnabled AssertUiEnabled AssertUiEnabled

Ottiene o imposta un valore che indica se l'applicazione è in esecuzione nella modalità interfaccia utente.Gets or sets a value indicating whether the application is running in user-interface mode.

Attributes Attributes Attributes Attributes

Ottiene gli attributi personalizzati del listener di traccia definiti nel file di configurazione dell'applicazione.Gets the custom trace listener attributes defined in the application configuration file.

(Inherited from TraceListener)
Filter Filter Filter Filter

Ottiene o imposta il filtro di traccia per il listener di traccia.Gets or sets the trace filter for the trace listener.

(Inherited from TraceListener)
IndentLevel IndentLevel IndentLevel IndentLevel

Ottiene o imposta il livello di rientro.Gets or sets the indent level.

(Inherited from TraceListener)
IndentSize IndentSize IndentSize IndentSize

Ottiene o imposta il numero di spazi in un rientro.Gets or sets the number of spaces in an indent.

(Inherited from TraceListener)
IsThreadSafe IsThreadSafe IsThreadSafe IsThreadSafe

Ottiene un valore che indica se il listener di traccia è thread-safe.Gets a value indicating whether the trace listener is thread safe.

(Inherited from TraceListener)
LogFileName LogFileName LogFileName LogFileName

Ottiene o imposta il nome di un file di log in cui scrivere i messaggi di traccia o debug.Gets or sets the name of a log file to write trace or debug messages to.

Name Name Name Name

Ottiene o imposta un nome per questa classe TraceListener.Gets or sets a name for this TraceListener.

(Inherited from TraceListener)
NeedIndent NeedIndent NeedIndent NeedIndent

Ottiene o imposta un valore che indica se impostare il rientro dell'output.Gets or sets a value indicating whether to indent the output.

(Inherited from TraceListener)
TraceOutputOptions TraceOutputOptions TraceOutputOptions TraceOutputOptions

Ottiene o imposta le opzioni dell'output di traccia.Gets or sets the trace output options.

(Inherited from TraceListener)

Metodi

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

Quando se ne esegue l'override in una classe derivata, chiude il flusso di output in modo da bloccare la ricezione di output di tracciatura o di debug.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)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto 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()

Rilascia tutte le risorse usate da TraceListener.Releases all resources used by the TraceListener.

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

Rilascia le risorse non gestite usate da TraceListener e, facoltativamente, le risorse gestite.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 l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Genera o visualizza un messaggio e una traccia dello stack per un'asserzione che ha sempre esito negativo.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)

Genera o visualizza un messaggio dettagliato e una traccia dello stack per un'asserzione che ha sempre esito negativo.Emits or displays detailed messages and a stack trace for an assertion that always fails.

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

Quando se ne esegue l'override in una classe derivata, svuota il buffer di output.When overridden in a derived class, flushes the output buffer.

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

Funge da funzione hash predefinita.Serves as the default hash function.

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

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

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

Ottiene gli attributi personalizzati supportati dal listener di traccia.Gets the custom attributes supported by the trace listener.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.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)

Scrive le informazioni di traccia, un oggetto dati e le informazioni di evento nell'output specifico del listener.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[])

Scrive le informazioni di traccia, una matrice di oggetti dati e le informazioni di evento nell'output specifico del listener.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)

Scrive le informazioni di traccia e di evento nell'output specifico del listener.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)

Scrive le informazioni di traccia, un messaggio e le informazioni di evento nell'output specifico del listener.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[])

Scrive le informazioni di traccia, una matrice di oggetti formattata e le informazioni di evento nell'output specifico del listener.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)

Scrive le informazioni di traccia, un messaggio, l'identità di un'attività correlata e le informazioni di evento nell'output specifico del listener.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)

Scrive il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della 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)

Scrive un nome di categoria e il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della 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)

Scrive l'output nella funzione OutputDebugString e nel metodo 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)

Scrive un nome di categoria e un messaggio nel listener creato durante l'implementazione della 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()

Inserisce il rientro nel listener creato quando si implementa questa classe e reimposta la proprietà NeedIndent su 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)

Scrive il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener, seguito da un terminatore di riga.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)

Scrive un nome di categoria e il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener, seguito da un terminatore di riga.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)

Scrive l'output nella funzione OutputDebugString e nel metodo Log(Int32, String, String) seguito da un ritorno a capo e da un avanzamento riga (\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)

Scrive un nome di categoria e un messaggio nel listener creato durante l'implementazione della classe TraceListener, seguiti da un terminatore di riga.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)

Si applica a

Thread safety

Questa classe è thread-safe.This class is thread safe.

Vedi anche