Exportar (0) Imprimir
Expandir todo

Modificadores de seguimiento

Los modificadores de seguimiento permiten habilitar, deshabilitar y filtrar resultados de seguimiento. Son objetos que existen en el código y que se pueden configurar externamente por medio del archivo .config. Existen tres tipos de modificadores de seguimiento incluidos en .NET Framework: las clases BooleanSwitch, TraceSwitch y SourceSwitch. La clase BooleanSwitch actúa como modificador, ya sea habilitando o deshabilitando diversas instrucciones de seguimiento. Las clases TraceSwitch y SourceSwitch le permiten habilitar un modificador de seguimiento en un nivel de seguimiento concreto para que aparezcan los mensajes Trace o TraceSource especificados para dicho nivel y todos sus niveles inferiores. Si deshabilita el modificador, los mensajes de seguimiento no aparecerán. Todas estas clases se derivan de la clase (MustInherit) abstracta Switch, como lo haría cualquier modificador desarrollado por el usuario.

Los modificadores de seguimiento pueden resultar útiles para filtrar información. Por ejemplo, es posible que desee ver todos los mensajes de seguimiento en un módulo de acceso a datos, pero sólo los mensajes de error en el resto de la aplicación. En ese caso, utilizaría un modificador de seguimiento para el acceso a datos y otro para el resto de la aplicación. Utilizando el archivo .config para configurar los modificadores con los valores apropiados, podría controlar qué tipos de mensajes de seguimiento desea recibir. Para obtener más información, vea Cómo: Crear e inicializar modificadores de seguimiento y Cómo: Configurar modificadores de seguimiento.

Normalmente, una aplicación implantada se ejecuta con sus modificadores deshabilitados, de modo que los usuarios no reciban una serie de mensajes de seguimiento irrelevantes ni se rellene un archivo de registro mientras se ejecuta la aplicación. Si ocurre algún problema durante la ejecución de la aplicación, puede detener la aplicación, habilitar los modificadores y volver a iniciar la aplicación. Entonces, podrá ver los mensajes de seguimiento.

Para utilizar un modificador, primero debe crear un objeto modificador desde una clase BooleanSwitch, una clase TraceSwitch o una clase de modificadores definida por el desarrollador. Para obtener más información sobre cómo crear modificadores definidos por el desarrollador, vea Switch (clase), en la Referencia de .NET Framework. A continuación, se establece un valor de configuración que especifica cuándo se va a utilizar el objeto modificador. Por último, se prueba el valor del objeto modificador en varios métodos de seguimiento Trace (o Debug).

Niveles de seguimiento

Cuando se utiliza TraceSwitch, es preciso hacer algunas consideraciones adicionales. Un objeto TraceSwitch presenta cuatro propiedades que devuelven valores de tipo Boolean que indican si el modificador se ha definido, como mínimo, hasta un nivel determinado:

Los niveles permiten limitar la cantidad de información de seguimiento que se recibe a la información estrictamente necesaria para resolver un problema. El nivel de detalle que se desea en la información de seguimiento se especifica configurando los modificadores de seguimiento al nivel apropiado. Puede recibir mensajes de error, mensajes de advertencia, mensajes informativos, mensajes de seguimiento detallados o ningún mensaje.

El usuario puede decidir plenamente qué tipo de mensaje desea asociar a cada nivel. Normalmente, el contenido de los mensajes de seguimiento depende de la información que se asocia a cada nivel, pero los distintos niveles pueden presentar información diferente. Por ejemplo, podría suministrar descripciones detalladas de un problema en el nivel 3 (Info), y sólo un número de referencia de error en el nivel 1 (Error). Depende plenamente del usuario decidir el esquema que mejor conviene a la aplicación.

Estas propiedades corresponden a los valores 1 a 4 de la enumeración TraceLevel. La tabla siguiente muestra los niveles de la enumeración TraceLevel y sus valores.

Valor enumerado Valor entero Tipo de mensaje mostrado (o escrito en un destino de salida especificado)

Off

0

Ninguno

Error

1

Sólo mensajes de error

Advertencia

2

Mensajes de advertencia y mensajes de error

Info

3

Mensajes informativos, mensajes de advertencia y mensajes de error

Verbose

4

Mensajes detallados, mensajes informativos, mensajes de advertencia y mensajes de error

Las propiedades de TraceSwitch indican el nivel de seguimiento máximo para el modificador. Es decir, la información de seguimiento se escribe para el nivel especificado así como para todos los niveles inferiores. Por ejemplo, si TraceInfo es true, entonces TraceError y TraceWarning también presentan el valor true, pero TraceVerbose también podría ser false.

Estas propiedades son de sólo lectura. El objeto TraceSwitch define esas propiedades automáticamente cuando se define la propiedad TraceLevel. Por ejemplo:

System.Diagnostics.TraceSwitch myTraceSwitch = 
   new System.Diagnostics.TraceSwitch("SwitchOne", "The first switch");
myTraceSwitch.Level = System.Diagnostics.TraceLevel.Info;
// This message box displays true, becuase setting the level to 
// TraceLevel.Info sets all lower levels to true as well.
MessageBox.Show(myTraceSwitch.TraceWarning.ToString());
// This message box displays false.
MessageBox.Show(myTraceSwitch.TraceVerbose.ToString());

System.Diagnostics.TraceSwitch myTraceSwitch =
   new System.Diagnostics.TraceSwitch("SwitchOne", "The first switch");
myTraceSwitch.set_Level(System.Diagnostics.TraceLevel.Info);
// This message box displays true, becuase setting the level to 
// TraceLevel.Info sets all lower levels to true as well.
MessageBox.Show(Convert.ToString(myTraceSwitch.get_TraceWarning()));
// This message box displays false.
MessageBox.Show(Convert.ToString(myTraceSwitch.get_TraceVerbose()));}

Modificadores definidos por el desarrollador

Además de BooleanSwitch y TraceSwitch, puede definir sus propios modificadores heredando de la clase Switch y reemplazando los métodos de la clase base por métodos personalizados. Para obtener más información sobre cómo crear modificadores definidos por el desarrollador, vea Switch (clase), en la Referencia de .NET Framework.

Vea también

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft