Exportar (0) Imprimir
Expandir todo

ConsoleTraceListener (Clase)

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

Espacio de nombres: System.Diagnostics
Ensamblado: System (en system.dll)

public class ConsoleTraceListener : TextWriterTraceListener
public class ConsoleTraceListener extends TextWriterTraceListener
public class ConsoleTraceListener extends TextWriterTraceListener
No aplicable.

NotaNota:

El atributo HostProtectionAttribute aplicado a esta clase tiene el siguiente valor para la propiedad Resources: Synchronization. HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician al hacer doble clic en un icono, escribir un comando o introducir una dirección URL en un explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación de SQL Server y atributos de protección del host.

Utilice la clase ConsoleTraceListener para escribir los mensajes de seguimiento y de depuración en la consola. Se puede inicializar un objeto ConsoleTraceListener para escribir los mensajes de seguimiento en la secuencia de Console.Out o la secuencia de Console.Error.

Cuando está habilitado el resultado de seguimiento y de depuración, los mensajes de ConsoleTraceListener se escriben en la secuencia de System.Console especificada, lo que es similar a la manera en que se escriben los mensajes con los métodos System.Console.Write y System.Console.WriteLine. En una aplicación de consola, las secuencias de resultados de la System.Console y las secuencias de error escriben mensajes en la ventana de consola existente, o bien, se pueden redirigir las secuencias para que se escriban en una instancia de System.IO.TextWriter.

NotaNota:

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

Agregue un objeto ConsoleTraceListener a la colección Listeners adecuada si desea que los mensajes escritos a través de Trace, TraceSource o Debug se escriban en la consola. Además, los mensajes se pueden escribir directamente en la consola mediante el método System.Diagnostics.Trace.Write o System.Diagnostics.Trace.WriteLine.

NotaNota:

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

La mayoría de los compiladores habilitan los resultados de seguimiento y de depuración a través de indicadores de compilación condicional. Si no se habilita el seguimiento o la depuración, se omiten eficazmente los mensajes escritos a través de las clases System.Diagnostics.Debug y System.Diagnostics.Trace. La sintaxis para habilitar los resultados de seguimiento y de depuración es específica de cada compilador; si utiliza compiladores distintos de C# o Visual Basic, consulte la documentación correspondiente al compilador.

  • Para habilitar la depuración en C#, agregue el indicador /d:DEBUG a la línea de comandos del compilador en el momento de compilar el código o agregue #define DEBUG al principio del archivo. En Visual Basic, agregue el indicador /d:DEBUG=True a la línea de comandos del compilador.

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

Se puede agregar un objeto ConsoleTraceListener a la colección Listeners en el código o se puede agregar un objeto ConsoleTraceListener a la colección Listeners a través del archivo de configuración de la aplicación. Agregue el objeto ConsoleTraceListener en el código para escribir mensajes para una sección de código o una ruta de ejecución específica. Agregue el objeto ConsoleTraceListener en el archivo de configuración de la aplicación para dirigir todos los mensajes de seguimiento y de depuración a la consola durante la ejecución de la aplicación.

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

Para dirigir todos los mensajes de seguimiento y de depuración a la consola durante la ejecución de la aplicación, agregue un objeto ConsoleTraceListener al archivo de configuración de la aplicación. Edite el archivo de configuración correspondiente al nombre de la aplicación o el archivo app.config en un proyecto de Visual Studio 2005. En este archivo, inserte un elemento para un ConsoleTraceListener.

En el ejemplo siguiente se agrega un objeto ConsoleTraceListener denominado configConsoleListener a la colección Listeners.

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

Para obtener información detallada sobre cómo agregar agentes de escucha de seguimiento en el archivo de configuración, vea Elemento <listeners> para <trace>.

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

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

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

// 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();

    }

}

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft