Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase TraceSwitch

 

Publicado: octubre de 2016

Proporciona un modificador multinivel que controlan el seguimiento y depuración sin recompilar su código.

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

System.Object
  System.Diagnostics.Switch
    System.Diagnostics.TraceSwitch

public class TraceSwitch : Switch

NombreDescripción
System_CAPS_pubmethodTraceSwitch(String, String)

Inicializa una nueva instancia de la TraceSwitch clase, utilizando el nombre para mostrar especificado y la descripción.

System_CAPS_pubmethodTraceSwitch(String, String, String)

Inicializa una nueva instancia de la TraceSwitch clase, utilizando el nombre para mostrar especificado, la descripción y el valor predeterminado para el conmutador.

NombreDescripción
System_CAPS_pubpropertyAttributes

Obtiene los atributos de modificador personalizados definidos en el archivo de configuración de la aplicación.(Heredado de Switch).

System_CAPS_pubpropertyDescription

Obtiene una descripción del modificador.(Heredado de Switch).

System_CAPS_pubpropertyDisplayName

Obtiene el nombre utilizado para identificar el modificador.(Heredado de Switch).

System_CAPS_pubpropertyLevel

Obtiene o establece el nivel de seguimiento que determina los mensajes que permite el modificador.

System_CAPS_protpropertySwitchSetting

Obtiene o establece el valor actual de este modificador.(Heredado de Switch).

System_CAPS_pubpropertyTraceError

Obtiene un valor que indica si el modificador permite mensajes de control de errores.

System_CAPS_pubpropertyTraceInfo

Obtiene un valor que indica si el modificador permite mensajes informativos.

System_CAPS_pubpropertyTraceVerbose

Obtiene un valor que indica si el modificador permite todos los mensajes.

System_CAPS_pubpropertyTraceWarning

Obtiene un valor que indica si el modificador permite mensajes de advertencia.

System_CAPS_protpropertyValue

Obtiene o establece el valor del modificador.(Heredado de Switch).

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_protmethodGetSupportedAttributes()

Obtiene los atributos personalizados admitidos por el modificador.(Heredado de Switch).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodOnSwitchSettingChanged()

Actualiza y corrige el nivel de este modificador.(Invalida Switch.OnSwitchSettingChanged()).

System_CAPS_protmethodOnValueChanged()

Establece el SwitchSetting propiedad en el entero equivalente de la Value propiedad.(Invalida Switch.OnValueChanged()).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

Puede utilizar un modificador de seguimiento para filtrar mensajes según su importancia. La TraceSwitch clase proporciona el TraceError, TraceWarning, TraceInfo, y TraceVerbose Propiedades para probar el nivel del modificador. El Level propiedad obtiene o establece el modificador TraceLevel.

Puede establecer el nivel de un TraceSwitch a través del archivo de configuración de aplicación y a continuación, utilice el TraceSwitch en la aplicación. Como alternativa, puede crear un TraceSwitch en el código y establecer el nivel directamente para instrumentar una sección de código específica.

Para configurar un TraceSwitch, editar el de la aplicación. En este archivo, puede agregar o 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 similar al ejemplo siguiente:

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

Esta sección de configuración define un TraceSwitch con el DisplayName establecido en mySwitch, y Level establecido en 1, que corresponde al valor de enumeración TraceLevel.Error.

System_CAPS_noteNota

En la versión 2.0 de .NET Framework, puede utilizar texto para especificar el valor de un modificador. Por ejemplo, true para un BooleanSwitch o el texto que representa un valor de enumeración, como Error para un TraceSwitch. La línea <add name="mySwitch" value="Error" /> es equivalente a <add name="mySwitch" value="1" />.

En la aplicación, puede utilizar el nivel del modificador configurado creando un 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 forma predeterminada, el conmutador Level propiedad se establece utilizando el valor especificado en el archivo de configuración. Si el TraceSwitch constructor no puede encontrar la configuración inicial del modificador en el archivo de configuración, la Level del nuevo, cambie el valor predeterminado es TraceLevel.Off.

Debe habilitar el seguimiento o la depuración para utilizar un modificador. La sintaxis siguiente es específica del compilador. Si utiliza compiladores distintos de C# o Visual Basic, consulte la documentación del compilador.

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

  • Para habilitar el seguimiento en C#, agregue el /d:TRACE marca 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 el /d:TRACE=True marca a la línea de comandos del compilador.

System_CAPS_noteNota

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

Para obtener más información sobre cómo instrumentar la aplicación, consulte Debug y Trace. Para obtener más información acerca de cómo configurar y usar los modificadores de seguimiento, consulte Trace Switches.

System_CAPS_noteNota

Para mejorar el rendimiento, puede hacer TraceSwitch miembros static en su clase.

En el ejemplo de código siguiente se crea un nuevo TraceSwitch y utiliza el modificador para determinar si se imprimen los mensajes de error. El modificador se crea en el nivel de clase. MyMethod Escribe el primer mensaje de error si el Level propiedad está establecida en TraceLevel.Error o superior. Sin embargo, MyMethod no escribe el segundo mensaje de error si la 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();
 }

.NET Framework
Disponible desde 1.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: