Exportar (0) Imprimir
Expandir todo

DefaultTraceListener (Clase)

Proporciona los métodos de salida y el comportamiento predeterminados para llevar a cabo el seguimiento.

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

public ref class DefaultTraceListener : public TraceListener
public class DefaultTraceListener extends TraceListener
public class DefaultTraceListener extends TraceListener

NotaNota

El atributo HostProtectionAttribute aplicado a esta clase tiene el siguiente valor para la propiedad Resources: Synchronization. HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician al hacer doble clic en un icono, escribir un comando o introducir una dirección URL en un explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación de SQL Server y atributos de protección del host.

Una instancia de esta clase se agrega automáticamente a las colecciones Debug.Listeners y Trace.Listeners. Agregar explícitamente un segundo DefaultTraceListener duplicará los mensajes en la ventana de resultados del depurador y los cuadros de mensajes para las aserciones.

De manera predeterminada, los métodos Write y WriteLine envían el mensaje a la función OutputDebugString de Win32 y al método Debugger.Log. Para obtener información sobre la función OutputDebugString, vea Platform SDK o MSDN.

El método Fail muestra, de forma predeterminada, un cuadro de mensaje cuando la aplicación se ejecuta en modo de interfaz de usuario; también envía el mensaje utilizando WriteLine.

Para utilizar un agente de escucha de seguimiento, deberá habilitarse el seguimiento 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 indicador /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 indicador /d:DEBUG=True a la línea de comandos del compilador.

  • Para habilitar el seguimiento en C#, agregue el indicador /d:TRACE a la línea de comandos del compilador en el momento de compilar el código o bien agregue #define TRACE al principio del archivo. En Visual Basic, agregue el indicador /d:TRACE=True a la línea de comandos del compilador.

Para agregar un agente de escucha de seguimiento, deberá modificarse el archivo de configuración correspondiente al nombre de la aplicación. En este archivo, se podrá agregar un agente de escucha, establecer el tipo de agente y sus parámetros, quitar un agente o borrar todos los agentes definidos previamente por la aplicación. El archivo de configuración debería tener el mismo formato que en el siguiente ejemplo:

<configuration>
<system.diagnostics>
  <trace autoflush="false" indentsize="4">
    <listeners>
      <remove name="Default" />
      <add name="myListener"  type="System.Diagnostics.TextWriterTraceListener"    initializeData="c:\myListener.log" />
    </listeners>
  </trace>
</system.diagnostics>
</configuration>

En el siguiente ejemplo de código se calculan coeficientes binomiales (valores utilizados en probabilidad y estadística). El ejemplo usa DefaultTraceListener para hacer el seguimiento de los resultados y registrar los errores. Crea un DefaultTraceListener nuevo, lo agrega a la colección Trace.Listeners y establece la propiedad LogFileName en el archivo de registro especificado en los argumentos de la línea de comandos.

Si se detecta un error al procesar el parámetro de entrada, o la función CalcBinomial producen una excepción, el método Fail registrará y mostrará un mensaje de error. Si la propiedad AssertUiEnabled es false, el mensaje de error también se escribirá en la consola. Si el cálculo del resultado es correcto, los métodos Write(String) y WriteLine(String) escribirán los resultados en el archivo de registro.

Los métodos Fail, Write y WriteLine hacen que la información de seguimiento se escriba únicamente en DefaultTraceListener. Para que la información de seguimiento se escriba en todos los agentes de escucha de la colección Trace.Listeners, deberán utilizarse los métodos Fail, Write y WriteLine de la clase Trace.

Imports System
Imports System.Diagnostics
Imports Microsoft.VisualBasic

Module Binomial

    ' args(0) is the number of possibilities for binomial coefficients.
    ' args(1) is the file specification for the trace log file.
    Sub Main(ByVal args() As String)

        Dim possibilities As Decimal
        Dim iter As Decimal

        ' Remove the original default trace listener.
        Trace.Listeners.RemoveAt(0)

        ' Create and add a new default trace listener.
        Dim defaultListener As DefaultTraceListener
        defaultListener = New DefaultTraceListener
        Trace.Listeners.Add(defaultListener)

        ' Assign the log file specification from the command line, if entered.
        If args.Length >= 2 Then
            defaultListener.LogFileName = args(1)
        End If

        ' Validate the number of possibilities argument.
        If args.Length >= 1 Then

            ' Verify that the argument is a number within the correct range.
            Try
                Const MAX_POSSIBILITIES As Decimal = 99
                possibilities = Decimal.Parse(args(0))
                If possibilities < 0 Or possibilities > MAX_POSSIBILITIES Then
                    Throw New Exception( _
                        String.Format("The number of possibilities must " & _
                            "be in the range 0..{0}.", MAX_POSSIBILITIES))
                End If
            Catch ex As Exception
                Dim failMessage As String = String.Format("""{0}"" " & _
                    "is not a valid number of possibilities.", args(0))
                defaultListener.Fail(failMessage, ex.Message)
                If Not defaultListener.AssertUiEnabled Then
                    Console.WriteLine(failMessage & vbCrLf & ex.Message)
                End If
                Return
            End Try
        Else
            ' Report that the required argument is not present.
            Const ENTER_PARAM As String = "Enter the number of " & _
                "possibilities as a command line argument."
            defaultListener.Fail(ENTER_PARAM)
            If Not defaultListener.AssertUiEnabled Then
                Console.WriteLine(ENTER_PARAM)
            End If
            Return
        End If

        For iter = 0 To possibilities
            Dim result As Decimal
            Dim binomial As String

            ' Compute the next binomial coefficient and handle all exceptions.
            Try
                result = CalcBinomial(possibilities, iter)
            Catch ex As Exception
                Dim failMessage As String = String.Format( _
                        "An exception was raised when " & _
                        "calculating Binomial( {0}, {1} ).", _
                        possibilities, iter)
                defaultListener.Fail(failmessage, ex.Message)
                If Not defaultListener.AssertUiEnabled Then
                    Console.WriteLine(failMessage & vbCrLf & ex.Message)
                End If
                Return
            End Try

            ' Format the trace and console output.
            binomial = String.Format("Binomial( {0}, {1} ) = ", _
                            possibilities, iter)
            defaultListener.Write(binomial)
            defaultListener.WriteLine(result.ToString)
            Console.WriteLine("{0} {1}", binomial, result)
        Next
    End Sub

    Function CalcBinomial(ByVal possibilities As Decimal, _
                        ByVal outcomes As Decimal) As Decimal

        ' Calculate a binomial coefficient, and minimize the chance of overflow.
        Dim result As Decimal = 1
        Dim iter As Decimal
        For iter = 1 To possibilities - outcomes
            result *= outcomes + iter
            result /= iter
        Next
        Return result
    End Function
End Module

System.Object
   System.MarshalByRefObject
     System.Diagnostics.TraceListener
      System.Diagnostics.DefaultTraceListener

Esta clase es segura para subprocesos.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft