ConsoleTraceListener Clase

Definición

Dirige el resultado de la traza o la depuración a la salida estándar o a la secuencia de error estándar.

public ref class ConsoleTraceListener : System::Diagnostics::TextWriterTraceListener
public class ConsoleTraceListener : System.Diagnostics.TextWriterTraceListener
type ConsoleTraceListener = class
    inherit TextWriterTraceListener
Public Class ConsoleTraceListener
Inherits TextWriterTraceListener
Herencia

Ejemplos

En el ejemplo de código siguiente se implementa una aplicación de consola que consta de una clase con dos métodos públicos.

El Main método examina los argumentos de la línea de comandos y determina si la salida de seguimiento se debe dirigir al flujo de error estándar o al flujo de salida estándar. Main crea e inicializa un ConsoleTraceListener objeto para el flujo de salida especificado Console y agrega este objeto a la colección del agente de escucha de seguimiento. A continuación, llama al WriteEnvironmentInfoToTrace método , que escribe detalles sobre el entorno en ejecución y la configuración del agente de escucha de seguimiento en la salida de seguimiento.

Cuando se ejecuta la aplicación de ejemplo, los detalles de configuración de seguimiento y entorno se escriben en el flujo de salida de la consola especificada a través del ConsoleTraceListener objeto .

// Define the TRACE directive, which enables trace output to the
// Trace.Listeners collection. Typically, this directive is defined
// as a compilation argument.
#define TRACE
using System;
using System.Diagnostics;

public class ConsoleTraceSample
{

    // Define a simple method to write details about the current executing
    // environment to the trace listener collection.
    public static void WriteEnvironmentInfoToTrace()
    {

        string methodName = "WriteEnvironmentInfoToTrace";

        Trace.Indent();
        Trace.WriteLine(DateTime.Now.ToString() + " - Start of " + methodName);
        Trace.Indent();

        // Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " + System.Environment.OSVersion.ToString());
        Trace.WriteLine("Computer name: " + System.Environment.MachineName);
        Trace.WriteLine("User name: " + System.Environment.UserName);
        Trace.WriteLine("CLR runtime version: " + System.Environment.Version.ToString());
        Trace.WriteLine("Command line: " + System.Environment.CommandLine);

        // Enumerate the trace listener collection and
        // display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " + Trace.Listeners.Count.ToString());

        foreach (TraceListener tl in Trace.Listeners)
        {
            Trace.WriteLine("Trace listener name = " + tl.Name);
            Trace.WriteLine("               type = " + tl.GetType().ToString());
        }

        Trace.Unindent();
        Trace.WriteLine(DateTime.Now.ToString() + " - End of " + methodName);
        Trace.Unindent();
    }

    // Define the main entry point of this class.
    // The main method adds a console trace listener to the collection
    // of configured trace listeners, then writes details on the current
    // executing environment.
    public static void Main(string[] CmdArgs)
    {

        // Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - Start of Main");

        // Define a trace listener to direct trace output from this method
        // to the console.
        ConsoleTraceListener consoleTracer;

        // Check the command line arguments to determine which
        // console stream should be used for trace output.
        if ((CmdArgs.Length>0)&&(CmdArgs[0].ToString().ToLower().Equals("/stderr")))
            // Initialize the console trace listener to write
            // trace output to the standard error stream.
        {
            consoleTracer = new ConsoleTraceListener(true);
        }
        else
        {
            // Initialize the console trace listener to write
            // trace output to the standard output stream.
            consoleTracer = new ConsoleTraceListener();
        }
        // Set the name of the trace listener, which helps identify this
        // particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer";

        // Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Starting output to trace listener.");

        // Add the new console trace listener to
        // the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer);

        // Call a local method, which writes information about the current
        // execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace();

        // Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString()+" ["+consoleTracer.Name+"] - Ending output to trace listener.");

        // Flush any pending trace messages, remove the
        // console trace listener from the collection,
        // and close the console trace listener.
        Trace.Flush();
        Trace.Listeners.Remove(consoleTracer);
        consoleTracer.Close();

        // Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString()+" - End of Main");

        // Close all other configured trace listeners.
        Trace.Close();
    }
}
' Define the TRACE constant, which enables trace output to the 
' Trace.Listeners collection. Typically, this constant is defined
' as a compilation argument.
#Const TRACE = True

Imports System.Diagnostics

Public Class ConsoleTraceSample

    ' Define a simple method to write details about the current executing 
    ' environment to the trace listener collection.
    Public Shared Sub WriteEnvironmentInfoToTrace()

        Dim methodName As String = "WriteEnvironmentInfoToTrace"

        Trace.Indent()
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of " & methodName)
        Trace.Indent()

        ' Write details on the executing environment to the trace output.
        Trace.WriteLine("Operating system: " & _
            System.Environment.OSVersion.ToString())
        Trace.WriteLine("Computer name: " & System.Environment.MachineName)
        Trace.WriteLine("User name: " & System.Environment.UserName)
        Trace.WriteLine("CLR version: " & System.Environment.Version.ToString)
        Trace.WriteLine("Command line: " & System.Environment.CommandLine)

        ' Enumerate the trace listener collection and 
        ' display details about each configured trace listener.
        Trace.WriteLine("Number of configured trace listeners = " & _
            Trace.Listeners.Count.ToString())

        Dim tl As TraceListener
        For Each tl In Trace.Listeners
            Trace.WriteLine("Trace listener name = " & tl.Name)
            Trace.WriteLine("               type = " & tl.GetType().ToString())
        Next tl

        Trace.Unindent()
        Trace.WriteLine(DateTime.Now.ToString() & " - End of " & methodName)
        Trace.Unindent()

    End Sub

    ' Define the main entry point of this class.
    ' The main method adds a console trace listener to the collection
    ' of configured trace listeners, then writes details on the current
    ' executing environment.
    Public Shared Sub Main(ByVal CmdArgs() As String)

        ' Write a trace message to all configured trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() & " - Start of Main")

        ' Define a trace listener to direct trace output from this method
        ' to the console.
        Dim consoleTracer As ConsoleTraceListener

        ' Check the command line arguments to determine which
        ' console stream should be used for trace output.
        If (CmdArgs.Length > 0) AndAlso _
           (CmdArgs(0).ToLower.Equals("/stderr")) Then
            ' Initialize the console trace listener to write
            ' trace output to the standard error stream.
            consoleTracer = New ConsoleTraceListener(True)
        Else
            ' Initialize the console trace listener to write
            ' trace output to the standard output stream.
            consoleTracer = New ConsoleTraceListener
        End If
        ' Set the name of the trace listener, which helps identify this 
        ' particular instance within the trace listener collection.
        consoleTracer.Name = "mainConsoleTracer"

        ' Write the initial trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
             consoleTracer.Name & "] - Starting output to trace listener.")

        ' Add the new console trace listener to 
        ' the collection of trace listeners.
        Trace.Listeners.Add(consoleTracer)

        ' Call a local method, which writes information about the current 
        ' execution environment to the configured trace listeners.
        WriteEnvironmentInfoToTrace()

        ' Write the final trace message to the console trace listener.
        consoleTracer.WriteLine(DateTime.Now.ToString() & " [" & _
            consoleTracer.Name & "] - Ending output to trace listener.")

        ' Flush any pending trace messages, remove the 
        ' console trace listener from the collection,
        ' and close the console trace listener.
        Trace.Flush()
        Trace.Listeners.Remove(consoleTracer)
        consoleTracer.Close()

        ' Write a final trace message to all trace listeners.
        Trace.WriteLine(DateTime.Now.ToString() + " - End of Main")

        ' Close all other configured trace listeners.
        Trace.Close()

    End Sub

End Class

Comentarios

Use la ConsoleTraceListener clase para escribir mensajes de seguimiento y depuración en la consola. Puede inicializar un ConsoleTraceListener objeto para escribir mensajes de seguimiento en la Console.Out secuencia o en la Console.Error secuencia.

Importante

Este tipo implementa la interfaz IDisposable. Cuando haya terminado de utilizar el tipo, debe desecharlo directa o indirectamente. Para eliminar el tipo directamente, llame a su Dispose método en untry/catch bloque . Para deshacerse de él indirectamente, use una construcción de lenguaje como using (en C#) o Using (en Visual Basic). Para más información, vea la sección "Uso de objetos que implementan IDisposable" en el tema de la interfaz IDisposable.

Cuando la salida de seguimiento y depuración está habilitada, los ConsoleTraceListener mensajes se escriben en la secuencia especificada System.Console , que es similar a la forma en que los mensajes se escriben con los Console.Write métodos o Console.WriteLine . En una aplicación de consola, los System.Console flujos de salida y error escriben mensajes en la ventana de consola existente, o bien puede redirigir las secuencias para escribir en una System.IO.TextWriter instancia de .

Nota

Si la consola no existe, como en una aplicación basada en Windows, no se muestran los mensajes escritos en la consola.

Agregue un ConsoleTraceListener objeto a la colección adecuada Listeners si desea que los mensajes escritos a través Tracede , TraceSourceo Debug se escriban en la consola. Además, puede escribir mensajes directamente en la consola mediante los Trace.Write métodos o Trace.WriteLine .

Nota

Las Debug clases y Trace comparten la misma TraceListenerCollection colección, a la que se accede a través de sus respectivas Listeners propiedades. Si agrega un ConsoleTraceListener objeto a la colección mediante una de estas clases, la otra clase usa automáticamente el mismo agente de escucha.

La mayoría de los compiladores habilitan la salida de seguimiento y depuración a través de marcas de compilación condicionales. Si no habilita el seguimiento o la depuración, los mensajes escritos a través de las System.Diagnostics.Debug clases y System.Diagnostics.Trace se omiten de forma eficaz. La sintaxis para habilitar la salida de seguimiento y depuración es específica del compilador; Si usa compiladores distintos de C# o Visual Basic, consulte la documentación del compilador.

  • Para habilitar la depuración en C#, agregue la marca /d:DEBUGa la línea de comandos del compilador al compilar el código, o bien puede agregar #define DEBUG a la parte superior del archivo. En Visual Basic, agregue la marca /d:DEBUG=True a la línea de comandos del compilador.

  • Para habilitar el seguimiento en C#, agregue la marca /d:TRACE a la línea de comandos del compilador al compilar el código o agregue #define TRACE a la parte superior del archivo. En Visual Basic, agregue la marca /d:TRACE=True a la línea de comandos del compilador.

Puede agregar un ConsoleTraceListener objeto a la colección en el Listeners código. O bien, para las aplicaciones de .NET Framework, puede agregar un ConsoleTraceListener objeto a la Listeners colección a través del archivo de configuración de la aplicación. Agregue el objeto en el ConsoleTraceListener código para escribir mensajes para una sección de código específica o una ruta de acceso de ejecución. Agregue el objeto en el ConsoleTraceListener archivo de configuración de la aplicación para dirigir todos los mensajes de seguimiento y depuración a la consola mientras se ejecuta la aplicación.

Para escribir mensajes de seguimiento y depuración en la consola para una sección específica de código, inicialice un ConsoleTraceListener objeto y agréguelo a la Listeners colección. Instrumente la sección de código que contiene mensajes mediante las Trace clases o Debug . Al final de la sección de código, quite el ConsoleTraceListener objeto de la Listeners colección y llame al Close método en .ConsoleTraceListener

En el caso de las aplicaciones de .NET Framework, para dirigir todos los mensajes de seguimiento y depuración a la consola mientras se ejecuta la aplicación, agregue un ConsoleTraceListener objeto al archivo de configuración de la aplicación. En el ejemplo siguiente se agrega un ConsoleTraceListener objeto denominado configConsoleListener a la Listeners colección .

<configuration>  
  <system.diagnostics>  
    <trace autoflush="false" indentsize="4">  
      <listeners>  
        <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener" />  
      </listeners>  
    </trace>  
  </system.diagnostics>  
 </configuration>  

Para más información sobre cómo agregar agentes de escucha de seguimiento en el archivo de configuración de la aplicación, consulte <agentes de> escucha.

Constructores

ConsoleTraceListener()

Inicializa una nueva instancia de la clase ConsoleTraceListener con los resultados de seguimiento escritos en el flujo de salida estándar.

ConsoleTraceListener(Boolean)

Inicializa una nueva instancia de la clase ConsoleTraceListener con una opción para escribir el resultado de seguimiento en el flujo de salida estándar o en el flujo de error estándar.

Propiedades

Attributes

Obtiene los atributos de agente de escucha de seguimiento personalizados que están definidos en el archivo de configuración de la aplicación.

(Heredado de TraceListener)
Filter

Obtiene o establece el filtro de seguimiento para el agente de escucha de seguimiento.

(Heredado de TraceListener)
IndentLevel

Obtiene o establece el nivel de sangría.

(Heredado de TraceListener)
IndentSize

Obtiene o establece el número de espacios de una sangría.

(Heredado de TraceListener)
IsThreadSafe

Obtiene un valor que indica si el agente de escucha de seguimiento es seguro para la ejecución de subprocesos.

(Heredado de TraceListener)
Name

Obtiene o establece un nombre para este objeto TraceListener.

(Heredado de TraceListener)
NeedIndent

Obtiene o establece un valor que indica si se va a aplicar sangría a los resultados.

(Heredado de TraceListener)
TraceOutputOptions

Obtiene o establece las opciones de los resultados de seguimiento.

(Heredado de TraceListener)
Writer

Obtiene o establece el escritor de texto que recibe los resultados de la traza o la depuración.

(Heredado de TextWriterTraceListener)

Métodos

Close()

Cierra la salida a la secuencia especificada para este agente de escucha de seguimiento.

Close()

Cierra Writer para que ya no se reciba ningún resultado de la traza o la depuración.

(Heredado de TextWriterTraceListener)
CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa TraceListener.

(Heredado de TraceListener)
Dispose(Boolean)

Desecha este objeto TextWriterTraceListener.

(Heredado de TextWriterTraceListener)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Fail(String)

Emite un mensaje de error para el agente de escucha que se crea al implementar la clase TraceListener.

(Heredado de TraceListener)
Fail(String, String)

Emite un mensaje de error y un mensaje de error detallado para el agente de escucha que se crea al implementar la clase TraceListener.

(Heredado de TraceListener)
Flush()

Vacía el búfer de resultados de la propiedad Writer.

(Heredado de TextWriterTraceListener)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetSupportedAttributes()

Obtiene los atributos personalizados admitidos por el agente de escucha de seguimiento.

(Heredado de TraceListener)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Escribe la información de seguimiento, un objeto de datos y la información de evento en los resultados específicos del agente de escucha.

(Heredado de TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Escribe la información de seguimiento, una matriz de objetos de datos y la información de evento en los resultados específicos del agente de escucha.

(Heredado de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Escribe la información de seguimiento y de evento en los resultados específicos del agente de escucha.

(Heredado de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Escribe la información de seguimiento, un mensaje y la información de evento en los resultados específicos del agente de escucha.

(Heredado de TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Escribe la información de seguimiento, una matriz de objetos con formato y la información de evento en los resultados específicos del agente de escucha.

(Heredado de TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Escribe la información de seguimiento, un mensaje, una identidad de actividad relacionada y la información de evento en los resultados específicos del agente de escucha.

(Heredado de TraceListener)
Write(Object)

Escribe el valor del método ToString() del objeto en el agente de escucha que se crea al implementar la clase TraceListener.

(Heredado de TraceListener)
Write(Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en el agente de escucha que se crea al implementar la clase TraceListener.

(Heredado de TraceListener)
Write(String)

Escribe un mensaje en la propiedad Writer de esta instancia.

(Heredado de TextWriterTraceListener)
Write(String, String)

Escribe un nombre de categoría y un mensaje en el agente de escucha que se crea al implementar la clase TraceListener.

(Heredado de TraceListener)
WriteIndent()

Escribe la sangría en el agente de escucha que se crea al implementar esta clase y restablece la propiedad NeedIndent en false.

(Heredado de TraceListener)
WriteLine(Object)

Escribe el valor del método ToString() del objeto en el agente de escucha que se crea al implementar la clase TraceListener, seguido de un terminador de línea.

(Heredado de TraceListener)
WriteLine(Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en el agente de escucha que se crea al implementar la clase TraceListener, seguidos de un terminador de línea.

(Heredado de TraceListener)
WriteLine(String)

Escribe en la propiedad Writer de esta instancia un mensaje seguido de un terminador de línea. El terminador de línea predeterminado corresponde a un retorno de carro seguido de un avance de línea (\r\n).

(Heredado de TextWriterTraceListener)
WriteLine(String, String)

Escribe un nombre de categoría y un mensaje en el agente de escucha que se crea al implementar la clase TraceListener, seguidos de un terminador de línea.

(Heredado de TraceListener)

Se aplica a

Consulte también