Exportar (0) Imprimir
Expandir todo
Este tema aún no ha recibido ninguna valoración - Valorar este tema

TraceSwitch (Clase)

Proporciona un modificador de varios niveles para controlar los resultados del seguimiento y la depuración sin volver a compilar el código.

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

public class TraceSwitch : Switch
public class TraceSwitch extends Switch
public class TraceSwitch extends Switch

Se puede utilizar un modificador de seguimiento para filtrar mensajes según su importancia. La clase TraceSwitch proporciona las propiedades TraceError, TraceWarning, TraceInfo y TraceVerbose que prueban el nivel del modificador. La propiedad Level obtiene o establece el objeto TraceLevel del modificador.

Se puede establecer el nivel de un modificador TraceSwitch a través del archivo de configuración de la aplicación y, a continuación, utilizar el nivel de TraceSwitch configurado en la aplicación. De modo alternativo, se puede crear un objeto TraceSwitch en el código y establecer el nivel directamente directamente para instrumentar una sección de código específica.

Para configurar TraceSwitch, modifique el archivo de configuración que corresponde al nombre de la aplicación. En este archivo, puede agregar y quitar un modificador, establecer un valor del modificador o borrar todos los modificadores establecidos previamente por la aplicación. El archivo de configuración debería tener el formato que se muestra en el siguiente ejemplo:

<configuration>
  <system.diagnostics>
    <switches>
      <add name="mySwitch" value="1" />
    </switches>
  </system.diagnostics>
</configuration>

En esta sección de configuración se define un objeto TraceSwitch con la propiedad DisplayName establecida en mySwitch y el valor de la propiedad Level establecido en 1, que corresponde al valor de enumeración TraceLevel.Error. En su aplicación, puede utilizar el nivel del modificador configurado si crea un objeto TraceSwitch con el mismo nombre, como se muestra en el ejemplo siguiente:

private static TraceSwitch appSwitch = new TraceSwitch("mySwitch", 
"Switch in config file");

public static void Main(string[] args) 
{
    //...
    Console.WriteLine("Trace switch {0} configured as {1}", 
    appSwitch.DisplayName, appSwitch.Level.ToString());
    if (appSwitch.TraceError)
    {
        //...
    }
}

De modo predeterminado, se establece la propiedad Level del modificador utilizando el valor especificado en el archivo de configuración. Si el constructor TraceSwitch no puede encontrar los valores iniciales del modificador en el archivo de configuración, la propiedad Level del nuevo modificador se establece en TraceLevel.Off de modo predeterminado.

Para utilizar modificadores, se debe habilitar el seguimiento o la depuración. La sintaxis siguiente es específica del compilador. Si se utilizan compiladores que no sean C# o Visual Basic, consulte la documentación del 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.

NotaNota

Estos modificadores del compilador de depuración y seguimiento no son necesarios cuando se utiliza la clase TraceSwitch de forma aislada. Sólo son necesarios con los métodos Trace o Debug que se compilan condicionalmente.

Para obtener más información acerca de cómo instrumentar la aplicación, vea Debug y Trace. Para obtener más información acerca de cómo configurar y utilizar modificadores de seguimiento, vea Modificadores de seguimiento.

NotaNota

Para mejorar el rendimiento, puede crear miembros TraceSwitchstatic en la clase.

En el ejemplo de código siguiente se crea un nuevo objeto TraceSwitch y se utiliza el modificador para determinar si se van a imprimir mensajes de error. El modificador se crea en el nivel de clase. MyMethod escribe el primer mensaje de error si la propiedad Level está establecida en TraceLevel.Error o superior. Sin embargo, MyMethod no escribe el segundo mensaje de error si la propiedad Level es menor que TraceLevel.Verbose.

//Class-level declaration.
 /* Create a TraceSwitch to use in the entire application.*/
 static TraceSwitch mySwitch = new TraceSwitch("General", "Entire Application");
 
 static public void MyMethod() {
    // Write the message if the TraceSwitch level is set to Error or higher.
    if(mySwitch.TraceError)
       Console.WriteLine("My error message.");
 
    // Write the message if the TraceSwitch level is set to Verbose.
    if(mySwitch.TraceVerbose)
       Console.WriteLine("My second error message.");
 }
 
 public static void Main(string[] args) {
    // Run the method that prints error messages based on the switch level.
    MyMethod();
 }
 

// Class-level declaration.
/* Create a TraceSwitch to use in the entire application.
 */
private static TraceSwitch mySwitch =
    new TraceSwitch("General", "Entire Application");

public static void MyMethod()
{
    //Write the message if the TraceSwitch level is set to Error or higher.
    if (mySwitch.get_TraceError()) {
        Console.WriteLine("My error message.");
    }

    // Write the message if the TraceSwitch level is set to Verbose.
    if (mySwitch.get_TraceVerbose()) {
        Console.WriteLine("My second error message.");
    }
} //MyMethod

public static void main(String[] args)
{
    // Run the method that prints error messages based on the switch level.
    MyMethod();
} //main

System.Object
   System.Diagnostics.Switch
    System.Diagnostics.TraceSwitch
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 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.