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 /DTRACE when compiling.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
int main()
{
#if defined(TRACE)
Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
Trace::AutoFlush = true;
Trace::Indent();
Trace::WriteLine( "Entering Main" );
#endif
Console::WriteLine( "Hello World." );
#if defined(TRACE)
Trace::WriteLine( "Exiting Main" );
Trace::Unindent();
#endif
return 0;
}
// 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 los problemas y solucionarlos sin alterar 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 de seguimiento. En las aplicaciones de .NET Framework, puede modificar los valores de estos modificadores sin volver a compilar la aplicación. Para obtener información sobre cómo usar el archivo de configuración para establecer un modificador en una aplicación de .NET Framework, vea la Switch clase y How to: Create, Initialize y Configure Trace Switches.
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 cualquier clase, se agrega el agente de escucha a ambos. De forma predeterminada, la salida de seguimiento se emite mediante la DefaultTraceListener clase .
Nota
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.
Nota
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 establece AutoFlush en después de Indent cada escritura.
En las aplicaciones de .NET Framework, puede establecer y AutoFlushIndentSize para Trace mediante la edición del archivo de configuración correspondiente al nombre de la aplicación. El archivo de configuración debe tener un formato similar al del 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 la omisión de 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.
Nota
En los proyectos de Visual Studio, de forma predeterminada, el DEBUG
símbolo de compilación condicional se define para compilaciones de depuración y el TRACE
símbolo se define para las 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
AutoFlush |
Obtiene o establece si se debe llamar a Flush() en debe llamar en los 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 de una sangría. |
Listeners |
Obtiene la colección de agentes de escucha que está supervisando los resultados de seguimiento. |
UseGlobalLock |
Obtiene o establece un valor que indica si debe utilizarse el bloqueo global. |
Métodos
Assert(Boolean) |
Comprueba una condición; si la condición es |
Assert(Boolean, String) |
Comprueba una condición; si la condición es |
Assert(Boolean, String, String) |
Comprueba una condición; si la condición es |
Close() |
Vacía el búfer de salida y, a continuación, cierra los Listeners. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
Fail(String) |
Emite el mensaje de error especificado. |
Fail(String, String) |
Emite un mensaje de error y un mensaje de error detallado. |
Flush() |
Vacía el búfer de salida y hace que los datos almacenados en búfer se escriban en el Listeners. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
Indent() |
Aumenta el IndentLevel actual en uno. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (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) |
Escribe un mensaje de error en los agentes de escucha de seguimiento de la colección Listeners con el mensaje especificado. |
TraceError(String, Object[]) |
Escribe un mensaje de error en los agentes de escucha de seguimiento de la colección Listeners con la matriz de objetos y la información de formato especificadas. |
TraceInformation(String) |
Escribe un mensaje informativo en los agentes de escucha de seguimiento de la colección Listeners con el mensaje especificado. |
TraceInformation(String, Object[]) |
Escribe un mensaje informativo en los agentes de escucha de seguimiento de la colección Listeners con la matriz de objetos y la información de formato especificadas. |
TraceWarning(String) |
Escribe un mensaje de advertencia en los agentes de escucha de seguimiento de la colección Listeners con el mensaje especificado. |
TraceWarning(String, Object[]) |
Escribe un mensaje de advertencia en los agentes de escucha de seguimiento de la colección Listeners con la matriz de objetos y la información de formato especificadas. |
Unindent() |
Disminuye el IndentLevel actual en uno. |
Write(Object) |
Escribe el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners. |
Write(Object, String) |
Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners. |
Write(String) |
Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners. |
Write(String, String) |
Escribe un nombre de categoría y un mensaje a los agentes de escucha de la colección Listeners. |
WriteIf(Boolean, Object) |
Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es |
WriteIf(Boolean, Object, String) |
Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners si una condición es |
WriteIf(Boolean, String) |
Escribe un mensaje a los agentes de escucha de la colección Listeners si una condición es |
WriteIf(Boolean, String, String) |
Escribe un nombre de categoría y un mensaje a los agentes de escucha de la colección Listeners si una condición es |
WriteLine(Object) |
Escribe el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners. |
WriteLine(Object, String) |
Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners. |
WriteLine(String) |
Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners. |
WriteLine(String, String) |
Escribe un mensaje y un nombre de categoría a los agentes de escucha de seguimiento de la colección Listeners. |
WriteLineIf(Boolean, Object) |
Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es |
WriteLineIf(Boolean, Object, String) |
Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners si una condición es |
WriteLineIf(Boolean, String) |
Escribe un mensaje a los agentes de escucha de la colección Listeners si una condición es |
WriteLineIf(Boolean, String, String) |
Escribe un nombre de categoría y un mensaje a los agentes de escucha de la colección Listeners si una condición es |
Eventos
Refreshing |
Se produce cuando TraceSource es necesario actualizar desde la configuración. |
Se aplica a
Seguridad para subprocesos
Este tipo es seguro para la ejecución de subprocesos.