Trace Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona un conjunto de métodos y propiedades que ayudan a realizar un seguimiento del código. Esta clase no puede heredarse.
public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
- Herencia
-
Trace
Ejemplos
En el ejemplo siguiente se usa Trace para indicar el principio y el final de la ejecución de un programa. En el ejemplo también se usan los Trace.Indent métodos y Trace.Unindent para distinguir la salida de seguimiento. Para obtener un ejemplo más completo del uso de Trace, vea Cómo: Agregar instrucciones de seguimiento al código de aplicación.
// Specify /d:TRACE when compiling.
using System;
using System.Diagnostics;
class Test
{
static void Main()
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
Trace.AutoFlush = true;
Trace.Indent();
Trace.WriteLine("Entering Main");
Console.WriteLine("Hello World.");
Trace.WriteLine("Exiting Main");
Trace.Unindent();
}
}
' Specify /d:TRACE=True when compiling.
Imports System.Diagnostics
Class Test
Shared Sub Main()
Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
Trace.AutoFlush = True
Trace.Indent()
Trace.WriteLine("Entering Main")
Console.WriteLine("Hello World.")
Trace.WriteLine("Exiting Main")
Trace.Unindent()
End Sub
End Class
Comentarios
Puede usar las propiedades y los métodos de la Trace clase para instrumentar compilaciones de versión. La instrumentación permite supervisar el estado de la aplicación que se ejecuta en la configuración real. El seguimiento le ayuda a aislar problemas y corregirlos sin molestar a un sistema en ejecución.
Esta clase proporciona métodos para mostrar un Assert cuadro de diálogo y para emitir una aserción que siempre Failserá . Esta clase proporciona métodos de escritura en las siguientes variaciones:
Las BooleanSwitch clases y TraceSwitch proporcionan medios para controlar dinámicamente la salida del seguimiento. En .NET aplicaciones de Framework, puede modificar los valores de estos modificadores sin volver a compilar la aplicación. Para obtener información sobre el uso del archivo de configuración para establecer un modificador en una aplicación de .NET Framework, consulte la clase />
Puede personalizar el destino de la salida de seguimiento agregando TraceListener o quitando instancias de la Listeners colección. La Listeners colección la comparten las Debug clases y Trace ; al agregar un agente de escucha de seguimiento a cualquiera de las clases, se agrega el agente de escucha a ambos. De forma predeterminada, la salida de seguimiento se emite mediante la DefaultTraceListener clase .
Note
Agregar un agente de escucha de seguimiento a la Listeners colección puede provocar una excepción durante el seguimiento, si un recurso usado por el agente de escucha de seguimiento no está disponible. Las condiciones y la excepción iniciada dependen del agente de escucha de seguimiento y no se pueden enumerar en este tema. Puede ser útil realizar llamadas a los Trace métodos en try/catch bloques para detectar y controlar las excepciones de los agentes de escucha de seguimiento.
Note
Si agrega agentes de escucha de seguimiento al código de confianza parcial, obtendrá una SecurityException excepción, ya que agregar agentes de escucha de seguimiento requiere UnmanagedCode permiso. Para realizar un seguimiento del código de confianza parcial que se ejecuta en un espacio aislado en Visual Studio, no agregue agentes de escucha de seguimiento. En su lugar, vea los Trace mensajes y Debug en la ventana Salida .
La Trace clase proporciona propiedades para obtener o establecer el nivel de y IndentSize, y si se va a AutoFlush después de Indent cada escritura.
En .NET Aplicaciones de Framework, puede establecer el AutoFlush y IndentSize para Trace editando el archivo de configuración que corresponde al nombre de la aplicación. El archivo de configuración debe tener formato similar al ejemplo siguiente:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
El ConditionalAttribute atributo se aplica a los métodos de Trace. Los compiladores que admiten ConditionalAttribute omitir llamadas a estos métodos, a menos TRACE que se definan como un símbolo de compilación condicional. Consulte la documentación de un compilador para determinar si ConditionalAttribute se admite y la sintaxis para definir un símbolo de compilación condicional.
Note
En Visual Studio proyectos, de forma predeterminada, el símbolo de compilación condicional de DEBUG se define para compilaciones de depuración y el símbolo TRACE se define para compilaciones de depuración y versión.
Para definir el TRACE símbolo de compilación condicional en C#, agregue la /d:TRACE opción a la línea de comandos del compilador al compilar el código mediante una línea de comandos o agregue #define TRACE a la parte superior del archivo. En Visual Basic, agregue la /d:TRACE=True opción a la línea de comandos del compilador o agregue #Const TRACE=True al archivo.
ConditionalAttribute no es compatible con el compilador de C++. Para proporcionar una funcionalidad equivalente, debe incluir llamadas a los métodos de Trace en un #if defined(TRACE) ... #endif bloque y agregar la /DTRACE opción a la línea de comandos del compilador o agregar #define TRACE al archivo.
Propiedades
| Nombre | Description |
|---|---|
| AutoFlush |
Obtiene o establece si Flush() se debe llamar a en Listeners después de cada escritura. |
| CorrelationManager |
Obtiene el administrador de correlación para el subproceso de este seguimiento. |
| IndentLevel |
Obtiene o establece el nivel de sangría. |
| IndentSize |
Obtiene o establece el número de espacios en una sangría. |
| Listeners |
Obtiene la colección de agentes de escucha que supervisan la salida del seguimiento. |
| UseGlobalLock |
Obtiene o establece un valor que indica si se debe usar el bloqueo global. |
Métodos
| Nombre | Description |
|---|---|
| Assert(Boolean, String, String) |
Comprueba si hay una condición; si la condición es |
| Assert(Boolean, String) |
Comprueba si hay una condición; si la condición es |
| Assert(Boolean) |
Comprueba si hay una condición; si la condición es |
| Close() |
Vacía el búfer de salida y, a continuación, cierra .Listeners |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| Fail(String, String) |
Emite un mensaje de error y un mensaje de error detallado. |
| Fail(String) |
Emite el mensaje de error especificado. |
| Flush() |
Vacía el búfer de salida y hace que los datos almacenados en búfer se escriban en .Listeners |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| Indent() |
Aumenta el actual IndentLevel en uno. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| Refresh() |
Actualiza los datos de configuración de seguimiento. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
| TraceError(String, Object[]) |
Escribe un mensaje de error en los agentes de escucha de seguimiento de la Listeners colección mediante la matriz especificada de objetos y la información de formato. |
| TraceError(String) |
Escribe un mensaje de error en los agentes de escucha de seguimiento de la Listeners colección mediante el mensaje especificado. |
| TraceInformation(String, Object[]) |
Escribe un mensaje informativo en los agentes de escucha de seguimiento de la Listeners colección mediante la matriz especificada de objetos y la información de formato. |
| TraceInformation(String) |
Escribe un mensaje informativo en los agentes de escucha de seguimiento de la Listeners colección mediante el mensaje especificado. |
| TraceWarning(String, Object[]) |
Escribe un mensaje de advertencia en los agentes de escucha de seguimiento de la Listeners colección mediante la matriz especificada de objetos y la información de formato. |
| TraceWarning(String) |
Escribe un mensaje de advertencia en los agentes de escucha de seguimiento de la Listeners colección mediante el mensaje especificado. |
| Unindent() |
Disminuye el actual IndentLevel en uno. |
| Write(Object, String) |
Escribe un nombre de categoría y el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección. |
| Write(Object) |
Escribe el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección. |
| Write(String, String) |
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la Listeners colección. |
| Write(String) |
Escribe un mensaje en los agentes de escucha de seguimiento de la Listeners colección. |
| WriteIf(Boolean, Object, String) |
Escribe un nombre de categoría y el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
| WriteIf(Boolean, Object) |
Escribe el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
| WriteIf(Boolean, String, String) |
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
| WriteIf(Boolean, String) |
Escribe un mensaje en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
| WriteLine(Object, String) |
Escribe un nombre de categoría y el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección. |
| WriteLine(Object) |
Escribe el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección. |
| WriteLine(String, String) |
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la Listeners colección. |
| WriteLine(String) |
Escribe un mensaje en los agentes de escucha de seguimiento de la Listeners colección. |
| WriteLineIf(Boolean, Object, String) |
Escribe un nombre de categoría y el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
| WriteLineIf(Boolean, Object) |
Escribe el valor del método del ToString() objeto en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
| WriteLineIf(Boolean, String, String) |
Escribe un nombre de categoría y un mensaje en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
| WriteLineIf(Boolean, String) |
Escribe un mensaje en los agentes de escucha de seguimiento de la Listeners colección si una condición es |
Se aplica a
Seguridad para subprocesos
Este tipo es seguro para subprocesos.