DefaultTraceListener Sınıf

Tanım

İzleme için varsayılan çıkış yöntemlerini ve davranışını sağlar.

public ref class DefaultTraceListener : System::Diagnostics::TraceListener
public class DefaultTraceListener : System.Diagnostics.TraceListener
[System.Runtime.InteropServices.ComVisible(false)]
public class DefaultTraceListener : System.Diagnostics.TraceListener
type DefaultTraceListener = class
    inherit TraceListener
[<System.Runtime.InteropServices.ComVisible(false)>]
type DefaultTraceListener = class
    inherit TraceListener
Public Class DefaultTraceListener
Inherits TraceListener
Devralma
DefaultTraceListener
Devralma
DefaultTraceListener
Öznitelikler

Örnekler

Aşağıdaki kod örneği, olasılık ve istatistiklerde kullanılan değerler olan binom katsayılarını hesaplar. Bu örnekte sonuçları izlemek ve hataları günlüğe kaydetmek için bir DefaultTraceListener kullanılır. Yeni DefaultTraceListenerbir oluşturur, bunu koleksiyona Trace.Listeners ekler ve özelliğini komut satırı bağımsız değişkenlerinde belirtilen günlük dosyasına ayarlar LogFileName .

Giriş parametresi işlenirken bir hata algılanırsa veya işlev bir özel durum oluşturursa CalcBinomial , Fail yöntem günlüğe kaydeder ve bir hata iletisi görüntüler. AssertUiEnabled özelliği isefalse, hata iletisi de konsola yazılır. Sonuç başarıyla hesaplandığında ve WriteLine(String) yöntemleri sonuçları Write(String) günlük dosyasına yazar.

Fail, Writeve WriteLine yöntemleri izleme bilgilerinin yalnızca öğesine yazılmasına DefaultTraceListenerneden olur. İzleme bilgilerini koleksiyondaki Trace.Listeners tüm dinleyicilere yazmak için sınıfının , Writeve WriteLine yöntemlerini Trace kullanınFail.

using System;
using System.Diagnostics;
using Microsoft.VisualBasic;

class Binomial
{

    // args(0) is the number of possibilities for binomial coefficients.
    // args(1) is the file specification for the trace log file.
    public static void Main(string[] args)
    {

        decimal possibilities;
        decimal iter;

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

        // Create and add a new default trace listener.
        DefaultTraceListener defaultListener;
        defaultListener = new DefaultTraceListener();
        Trace.Listeners.Add(defaultListener);

        // Assign the log file specification from the command line, if entered.
        if (args.Length>=2)
        {
            defaultListener.LogFileName = args[1];
        }

        // Validate the number of possibilities argument.
        if (args.Length>=1)

            // Verify that the argument is a number within the correct range.
        {
            try
            {
                const decimal MAX_POSSIBILITIES = 99;
                possibilities = Decimal.Parse(args[0]);
                if (possibilities<0||possibilities>MAX_POSSIBILITIES)
                {
                    throw new Exception(String.Format("The number of possibilities must " +
                        "be in the range 0..{0}.", MAX_POSSIBILITIES));
                }
            }
            catch(Exception ex)
            {
                string failMessage = String.Format("\"{0}\" " +
                    "is not a valid number of possibilities.", args[0]);
                defaultListener.Fail(failMessage, ex.Message);
                if (!defaultListener.AssertUiEnabled)
                {
                    Console.WriteLine(failMessage+ "\n" +ex.Message);
                }
                return;
            }
        }
        else
        {
            // Report that the required argument is not present.
            const string ENTER_PARAM = "Enter the number of " +
                      "possibilities as a command line argument.";
            defaultListener.Fail(ENTER_PARAM);
            if (!defaultListener.AssertUiEnabled)
            {
                Console.WriteLine(ENTER_PARAM);
            }
            return;
        }

        for(iter=0; iter<=possibilities; iter++)
        {
            decimal result;
            string binomial;

            // Compute the next binomial coefficient and handle all exceptions.
            try
            {
                result = CalcBinomial(possibilities, iter);
            }
            catch(Exception ex)
            {
                string failMessage = String.Format("An exception was raised when " +
                    "calculating Binomial( {0}, {1} ).", possibilities, iter);
                defaultListener.Fail(failMessage, ex.Message);
                if (!defaultListener.AssertUiEnabled)
                {
                    Console.WriteLine(failMessage+ "\n" +ex.Message);
                }
                return;
            }

            // 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);
        }
    }

    public static decimal CalcBinomial(decimal possibilities, decimal outcomes)
    {

        // Calculate a binomial coefficient, and minimize the chance of overflow.
        decimal result = 1;
        decimal iter;
        for(iter=1; iter<=possibilities-outcomes; iter++)
        {
            result *= outcomes+iter;
            result /= iter;
        }
        return result;
    }
}
Imports System.Diagnostics

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

Açıklamalar

Bu sınıfın bir örneği ve Trace.Listeners koleksiyonlarına Debug.Listeners otomatik olarak eklenir. Açıkça ikinci DefaultTraceListener bir ileti eklemek hata ayıklayıcı çıkış penceresinde yinelenen iletilere ve onaylar için yinelenen ileti kutularına neden olur.

Varsayılan olarak, Write ve WriteLine yöntemleri iletiyi Win32 OutputDebugString işlevine ve yöntemine Debugger.Log yayar.

Fail yöntemi, uygulama bir kullanıcı arabirimi modunda çalışırken varsayılan olarak bir ileti kutusu görüntüler; ayrıca kullanarak WriteLineiletiyi yayar.

Not

ve Fail yöntem çağrıları için Assert ileti kutusunun görüntülenmesi, varlığının DefaultTraceListenerdurumuna bağlıdır. DefaultTraceListener koleksiyonunda Listeners değilse, ileti kutusu görüntülenmez. DefaultTraceListener özelliğinde Listeners yöntemi çağrılarak Clear kaldırılabilir (System.Diagnostics.Trace.Listeners.Clear() . .NET Framework uygulamalar için, uygulamanızın yapılandırma dosyasında clear <> öğesini ve <remove> öğesini de kullanabilirsiniz.

İzleme dinleyicisi kullanmak için izlemeyi veya hata ayıklamayı etkinleştirmeniz gerekir. Aşağıdaki söz dizimi derleyiciye özgüdür. C# veya Visual Basic dışında derleyiciler kullanıyorsanız, derleyicinizin belgelerine bakın.

  • C# dilinde hata ayıklamayı etkinleştirmek için, /d:DEBUG kodunuzu derlerken derleyici komut satırına bayrağını ekleyin veya dosyanızın en üstüne ekleyin #define DEBUG . Visual Basic'te, bayrağını /d:DEBUG=True derleyici komut satırına ekleyin.

  • C# dilinde izlemeyi etkinleştirmek için, /d:TRACE kodunuzu derlerken derleyici komut satırına bayrağını ekleyin veya dosyanızın en üstüne ekleyin #define TRACE . Visual Basic'te, bayrağını /d:TRACE=True derleyici komut satırına ekleyin.

.NET Framework uygulamalar için, uygulamanızın adına karşılık gelen yapılandırma dosyasını düzenleyerek izleme dinleyicisi ekleyebilirsiniz. Bu dosya içinde bir dinleyici ekleyebilir, türünü ve parametrelerini ayarlayabilir, dinleyiciyi kaldırabilir veya uygulama tarafından daha önce ayarlanan tüm dinleyicileri temizleyebilirsiniz. Yapılandırma dosyası aşağıdaki örneğe benzer şekilde biçimlendirilmelidir:

<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>  

Oluşturucular

DefaultTraceListener()

Özellik değeri olarak "Default" ile sınıfının yeni bir örneğini DefaultTraceListenerName başlatır.

Özellikler

AssertUiEnabled

Uygulamanın kullanıcı arabirimi modunda çalışıp çalışmadığını belirten bir değer alır veya ayarlar.

Attributes

Uygulama yapılandırma dosyasında tanımlanan özel izleme dinleyicisi özniteliklerini alır.

(Devralındığı yer: TraceListener)
Filter

İzleme dinleyicisi için izleme filtresini alır veya ayarlar.

(Devralındığı yer: TraceListener)
IndentLevel

Girinti düzeyini alır veya ayarlar.

(Devralındığı yer: TraceListener)
IndentSize

Girintideki boşlukların sayısını alır veya ayarlar.

(Devralındığı yer: TraceListener)
IsThreadSafe

İzleme dinleyicisinin iş parçacığı güvenli olup olmadığını belirten bir değer alır.

(Devralındığı yer: TraceListener)
LogFileName

İzleme veya hata ayıklama iletileri yazacak günlük dosyasının adını alır veya ayarlar.

Name

Bu TraceListeneriçin bir ad alır veya ayarlar.

(Devralındığı yer: TraceListener)
NeedIndent

Çıkışı girintileyip girintilemeyeceğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: TraceListener)
TraceOutputOptions

İzleme çıkışı seçeneklerini alır veya ayarlar.

(Devralındığı yer: TraceListener)

Yöntemler

Close()

Türetilmiş bir sınıfta geçersiz kılındığında, artık izleme veya hata ayıklama çıkışı almaması için çıkış akışını kapatır.

(Devralındığı yer: TraceListener)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

TraceListener tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: TraceListener)
Dispose(Boolean)

TraceListener tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

(Devralındığı yer: TraceListener)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Fail(String)

Her zaman başarısız olan bir onay için bir ileti ve yığın izlemesi yayar veya görüntüler.

Fail(String, String)

Her zaman başarısız olan bir onay için ayrıntılı iletiler ve yığın izlemesi yayar veya görüntüler.

Flush()

Türetilmiş bir sınıfta geçersiz kılındığında çıkış arabelleği boşaltılır.

(Devralındığı yer: TraceListener)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetSupportedAttributes()

İzleme dinleyicisi tarafından desteklenen özel öznitelikleri alır.

(Devralındığı yer: TraceListener)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

İzleme bilgilerini, veri nesnesini ve olay bilgilerini dinleyiciye özel çıktıya yazar.

(Devralındığı yer: TraceListener)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

İzleme bilgilerini, bir veri nesneleri dizisini ve olay bilgilerini dinleyiciye özel çıktıya yazar.

(Devralındığı yer: TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32)

dinleyiciye özgü çıkışa izleme ve olay bilgileri yazar.

(Devralındığı yer: TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

İzleme bilgilerini, bir iletiyi ve olay bilgilerini dinleyiciye özel çıkışa yazar.

(Devralındığı yer: TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Dinleyiciye özgü çıktıya, biçimlendirilmiş bir nesne dizisi ve olay bilgileri olan izleme bilgilerini yazar.

(Devralındığı yer: TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

İzleme bilgilerini, bir iletiyi, ilgili etkinlik kimliğini ve olay bilgilerini dinleyiciye özel çıktıya yazar.

(Devralındığı yer: TraceListener)
Write(Object)

nesnesinin ToString() yönteminin değerini sınıfını uygularken oluşturduğunuz dinleyiciye TraceListener yazar.

(Devralındığı yer: TraceListener)
Write(Object, String)

Sınıfını uygularken oluşturduğunuz dinleyiciye bir kategori adı ve nesnenin ToString() yönteminin TraceListener değerini yazar.

(Devralındığı yer: TraceListener)
Write(String)

Çıkışı işlevine OutputDebugString ve yöntemine Log(Int32, String, String) yazar.

Write(String, String)

Sınıfını uygularken TraceListener oluşturduğunuz dinleyiciye bir kategori adı ve ileti yazar.

(Devralındığı yer: TraceListener)
WriteIndent()

Bu sınıfı uygularken oluşturduğunuz dinleyiciye girintiyi yazar ve özelliğini olarak falsesıfırlarNeedIndent.

(Devralındığı yer: TraceListener)
WriteLine(Object)

nesnesinin ToString() yönteminin değerini sınıfını uygularken oluşturduğunuz dinleyiciye TraceListener yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TraceListener)
WriteLine(Object, String)

Sınıfını uygularken oluşturduğunuz dinleyiciye bir kategori adı ve nesnenin ToString() yönteminin TraceListener değerini yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TraceListener)
WriteLine(String)

Çıkışı işleve OutputDebugString ve yöntemine Log(Int32, String, String) yazar, ardından satır başı ve satır beslemesi (\r\n).

WriteLine(String, String)

Sınıfı uygularken TraceListener oluşturduğunuz dinleyiciye bir kategori adı ve ileti yazar ve ardından bir satır sonlandırıcısı yazar.

(Devralındığı yer: TraceListener)

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu sınıf iş parçacığı güvenlidir.

Ayrıca bkz.