Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

TraceSwitch (Clase)

Proporciona un modificador multinivel para controlar la generación de traza y depuración sin recompilar su código.

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

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

public ref class TraceSwitch : public Switch

El tipo TraceSwitch expone los siguientes miembros.

  NombreDescripción
Método públicoTraceSwitch(String, String)Inicializa una nueva instancia de la clase TraceSwitch utilizando el nombre para mostrar y la descripción que se hayan especificado.
Método públicoTraceSwitch(String, String, String)Inicializa una nueva instancia de la clase TraceSwitch utilizando el nombre para mostrar, la descripción y el valor predeterminado del modificador que se hayan especificado.
Arriba

  NombreDescripción
Propiedad públicaAttributesObtiene los atributos de modificador personalizados definidos en el archivo de configuración de la aplicación. (Se hereda de Switch).
Propiedad públicaDescriptionObtiene una descripción del modificador. (Se hereda de Switch).
Propiedad públicaDisplayNameObtiene el nombre utilizado para identificar el modificador. (Se hereda de Switch).
Propiedad públicaLevelObtiene o establece el nivel de seguimiento que determina los mensajes que permite el modificador.
Propiedad protegidaSwitchSettingObtiene o establece la configuración actual de este modificador. (Se hereda de Switch).
Propiedad públicaTraceErrorObtiene un valor que indica si el modificador permite mensajes de control de errores.
Propiedad públicaTraceInfoObtiene un valor que indica si el modificador permite mensajes informativos.
Propiedad públicaTraceVerboseObtiene un valor que indica si el modificador permite todos los mensajes.
Propiedad públicaTraceWarningObtiene un valor que indica si el modificador permite mensajes de advertencia.
Propiedad protegidaValueObtiene o establece el valor del modificador. (Se hereda de Switch).
Arriba

  NombreDescripción
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método protegidoGetSupportedAttributesObtiene los atributos personalizados que admite el modificador. (Se hereda de Switch).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnSwitchSettingChangedActualiza y corrige el nivel de este modificador. (Invalida a Switch::OnSwitchSettingChanged()).
Método protegidoOnValueChangedEstablece la propiedad SwitchSetting en el entero equivalente de la propiedad Value. (Invalida a Switch::OnValueChanged()).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

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 para instrumentar una sección de código específica.

Para configurar TraceSwitch, modifique el archivo de configuración de la aplicación para su 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 debe tener el mismo formato que 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.

NotaNota

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

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 = gcnew TraceSwitch("mySwitch",
        "Switch in config file");

public:
    static void Main(array<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 la traza 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 marcador /d:DEBUG a la línea de comandos del compilador cuando compile el código o agregue #define DEBUG al principio del archivo. En Visual Basic, agregue el marcador /d:DEBUG=True a la línea de comandos del compilador.

  • Para habilitar la traza en C#, agregue el marcador /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 marcador /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 sobre 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 se establece en TraceLevel::Error o superior. Sin embargo, MyMethod no escribe el segundo mensaje de error si Level es inferior a TraceLevel::Verbose.


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

public:
   static 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." );
   }

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


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos 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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft