Bagikan melalui


EventSchemaTraceListener Kelas

Definisi

Mengarahkan output pelacakan atau penelusuran kesalahan peristiwa end-to-end ke file log yang dikodekan XML dan mematuhi skema.

public ref class EventSchemaTraceListener : System::Diagnostics::TextWriterTraceListener
public class EventSchemaTraceListener : System.Diagnostics.TextWriterTraceListener
type EventSchemaTraceListener = class
    inherit TextWriterTraceListener
Public Class EventSchemaTraceListener
Inherits TextWriterTraceListener
Warisan

Contoh

Contoh kode berikut menunjukkan cara menggunakan EventSchemaTraceListener kelas .


///////////////////////////////////////////////////////////////////////
//
// EventSchemaTraceListener.cpp : main project file.
// Expected Output:
// 1)
//      EventSchemaTraceListener CPP Sample
//
//      IsThreadSafe? True
//      BufferSize =  65536
//      MaximumFileSize =  20480000
//      MaximumNumberOfFiles =  2
//      Name =  eventListener
//      TraceLogRetentionOption = LimitedCircularFiles
//      TraceOutputOptions = DateTime, Timestamp, ProcessId
//
//      Press the enter key to exit
//
// 2) An output file is created named TraceOutput.xml.  It will be
//    opened and displayed in Microsoft Notepad.
//
// NOTE 1:
//  Under certain circumstances, the VS C++ compiler will treat
//          Console::WriteLine("MyText = " + MyVar);
//        differently then the VS CSharp compiler.
//        The C++ compiler will produce error C3063, whereas the 
//        CSharp compiler accepts the statement.
//        This occurs when the VS C++ compiler cannot determine the
//        datatype of "MyVar" because it is an enumeration type.
//        The solution is:
//        Use either of the following two methods:
//          Console::WriteLine("MyText = {0} " , MyVar);
//          Console::WriteLine("MyText =  " + MyVar.ToString());
//
//        Although not specific to this particular pieces of code,
//        this is demonstrated below in the Display function:  The
//        last two members, TraceLogRetentionOption, and
//        TraceOutputOptions, are enumerations, and cannot simply be
//        concatenated into Console::WriteLine.
//
///////////////////////////////////////////////////////////////////////
#using <System.dll>
#using <System.Core.dll>

#define NOCONFIGFILE 1
using namespace System;
using namespace System::IO;
using namespace System::Diagnostics;


[STAThreadAttribute]
void main()
{
    Console::WriteLine("EventSchemaTraceListener CPP Sample\n");

    File::Delete("TraceOutput.xml");
    TraceSource ^ ts = gcnew TraceSource("TestSource");


#if NOCONFIGFILE
    ts->Listeners->Add(gcnew EventSchemaTraceListener("TraceOutput.xml",
                            "eventListener", 65536,
                            TraceLogRetentionOption::LimitedCircularFiles,
                            20480000, 2));
    ts->Listeners["eventListener"]->TraceOutputOptions =
                                    TraceOptions::DateTime |
                                    TraceOptions::ProcessId |
                                    TraceOptions::Timestamp;
#endif

    EventSchemaTraceListener ^ ESTL =
               (EventSchemaTraceListener^)(ts->Listeners["eventListener"]);


    Console::WriteLine("IsThreadSafe?            = " + ESTL->IsThreadSafe);
    Console::WriteLine("BufferSize               = " + ESTL->BufferSize);
    Console::WriteLine("MaximumFileSize          = " + ESTL->MaximumFileSize);
    Console::WriteLine("MaximumNumberOfFiles     = " + ESTL->MaximumNumberOfFiles);
    Console::WriteLine("Name                     = " + ESTL->Name);
    Console::WriteLine("TraceLogRetentionOption  = " + ESTL->TraceLogRetentionOption.ToString());
    Console::WriteLine("TraceOutputOptions       = {0}\n", ESTL->TraceOutputOptions);

    ts->Switch->Level = SourceLevels::All;
    String ^ testString = "<Test><InnerElement Val=\"1\" />"
                        + "<InnerElement Val=\"Data\"/>"
                        + "<AnotherElement>11</AnotherElement></Test>";

    UnescapedXmlDiagnosticData ^ unXData = gcnew UnescapedXmlDiagnosticData(testString);
    ts->TraceData(TraceEventType::Error, 38, unXData);
    ts->TraceEvent(TraceEventType::Error, 38, testString);
    ts->Flush();
    ts->Close();

    Process::Start("notepad.exe", "TraceOutput.xml");
    Console::WriteLine("\nPress the enter key to exit");
    Console::ReadLine();
}
#define NOCONFIGFILE
using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Diagnostics;

class testClass
{
    [STAThreadAttribute]
    static void Main()
    {
        File.Delete("TraceOutput.xml");
        TraceSource ts = new TraceSource("TestSource");
#if NOCONFIGFILE
        //ts.Listeners.Add(new EventSchemaTraceListener("TraceOutput.xml", "eventListener", 65536, TraceLogRetentionOption.LimitedCircularFiles, 20480000, 2));
        ts.Listeners.Add(new EventSchemaTraceListener("TraceOutput.xml", "eventListener"));
        ts.Listeners["eventListener"].TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ProcessId | TraceOptions.Timestamp;
#endif
        ts.Switch.Level = SourceLevels.All;
        string testString = "<Test><InnerElement Val=\"1\" /><InnerElement Val=\"Data\"/><AnotherElement>11</AnotherElement></Test>";
        UnescapedXmlDiagnosticData unXData = new UnescapedXmlDiagnosticData(testString);
        ts.TraceData(TraceEventType.Error, 38, unXData);
        ts.TraceEvent(TraceEventType.Error, 38, testString);
        Trace.Listeners.Add(new EventSchemaTraceListener("TraceOutput.xml"));
        Trace.Write("test", "test");
        Trace.Flush();
        ts.Flush();
        ts.Close();
        DisplayProperties(ts);
        Process.Start("notepad.exe", "TraceOutput.xml");
        Console.WriteLine("Press the enter key to exit");
        Console.ReadLine();
    }
    private static void DisplayProperties(TraceSource ts)
    {
        Console.WriteLine("IsThreadSafe? " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).IsThreadSafe);
        Console.WriteLine("BufferSize =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).BufferSize);
        Console.WriteLine("MaximumFileSize =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).MaximumFileSize);
        Console.WriteLine("MaximumNumberOfFiles =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).MaximumNumberOfFiles);
        Console.WriteLine("Name =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).Name);
        Console.WriteLine("TraceLogRetentionOption =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).TraceLogRetentionOption);
        Console.WriteLine("TraceOutputOptions =  " + ((EventSchemaTraceListener)ts.Listeners["eventListener"]).TraceOutputOptions);
    }
}
#Const NOCONFIGFILE = True
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Diagnostics

Class testClass

    <STAThreadAttribute()> _
    Shared Sub Main()
        File.Delete("TraceOutput.xml")
        Dim ts As New TraceSource("TestSource")
#If NOCONFIGFILE Then
        ts.Listeners.Add(New EventSchemaTraceListener("TraceOutput.xml", "eventListener", 65536, TraceLogRetentionOption.LimitedCircularFiles, 20480000, 2))
        ts.Listeners("eventListener").TraceOutputOptions = TraceOptions.DateTime Or TraceOptions.ProcessId Or TraceOptions.Timestamp
#End If
        ts.Switch.Level = SourceLevels.All
        Dim testString As String = "<Test><InnerElement Val=""1"" /><InnerElement Val=""Data""/><AnotherElement>11</AnotherElement></Test>"
        Dim unXData As New UnescapedXmlDiagnosticData(testString)
        ts.TraceData(TraceEventType.Error, 38, unXData)
        ts.TraceEvent(TraceEventType.Error, 38, testString)
        ts.Flush()
        ts.Close()
        DisplayProperties(ts)
        Process.Start("notepad.exe", "TraceOutput.xml")
        Console.WriteLine("Press the enter key to exit")
        Console.ReadLine()

    End Sub

    Private Shared Sub DisplayProperties(ByVal ts As TraceSource)
        Console.WriteLine("IsThreadSafe? " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).IsThreadSafe.ToString())
        Console.WriteLine("BufferSize =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).BufferSize.ToString())
        Console.WriteLine("MaximumFileSize =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).MaximumFileSize.ToString())
        Console.WriteLine("MaximumNumberOfFiles =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).MaximumNumberOfFiles.ToString())
        Console.WriteLine("Name =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).Name)
        Console.WriteLine("TraceLogRetentionOption =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).TraceLogRetentionOption.ToString())
        Console.WriteLine("TraceOutputOptions =  " + CType(ts.Listeners("eventListener"), EventSchemaTraceListener).TraceOutputOptions.ToString())
    End Sub
End Class

Keterangan

Kelas ini EventSchemaTraceListener menyediakan pelacakan peristiwa yang mematuhi skema end-to-end. Anda dapat menggunakan pelacakan end-to-end untuk sistem yang memiliki komponen heterogen yang melintasi alur, proses AppDomain, dan batas komputer. Skema peristiwa standar memungkinkan pelacakan di seluruh batas ini. Skema ini memungkinkan penambahan elemen kustom yang mematuhi skema. Anda dapat menggunakan Alat Penampil Jejak Layanan (SvcTraceViewer.exe) untuk menampilkan data peristiwa.

EventSchemaTraceListener disetel untuk performa pengelogan dengan dukungan implisit untuk pelacakan bebas kunci.

Kelas EventSchemaTraceListener mengonversi informasi pelacakan dan penelusuran kesalahan menjadi aliran teks yang dikodekan XML. Deskripsi output XML ditampilkan dalam tabel nanti di bagian ini.

Anda dapat membuat EventSchemaTraceListener objek dalam kode Anda. Atau, untuk aplikasi .NET Framework, Anda dapat mengaktifkan atau menonaktifkan EventSchemaTraceListener objek melalui file konfigurasi aplikasi, lalu menggunakan objek yang dikonfigurasi EventSchemaTraceListener di aplikasi Anda. Untuk informasi tentang penggunaan file konfigurasi untuk penelusuran dan penelusuran kesalahan di aplikasi .NET Framework, lihat Skema Pengaturan Pelacakan dan Debug.

Untuk mengonfigurasi EventSchemaTraceListener objek di aplikasi .NET Framework, ubah file konfigurasi yang sesuai dengan nama aplikasi Anda. Dalam file ini, Anda dapat menambahkan, menghapus, atau mengatur properti untuk pendengar. File konfigurasi harus diformat sebagai berikut:

<configuration>  
    <system.diagnostics>  
        <sources>  
            <source name="TestSource" >  
                <listeners>  
                    <!--Remove the default trace listener for better performance.-->  
                    <remove name="Default"/>  
                    <!--Note: Removing the default trace listener prevents the dialog box   
                    from being displayed for Debug.Fail or Debug.Assert commands that are   
                    executed in user mode.-->  
                    <add name="eventListener"   
                      type="System.Diagnostics.EventSchemaTraceListener,  system.core"  
                      initializeData="TraceOutput.xml"   
                      traceOutputOptions="ProcessId, DateTime, Timestamp"   
                      bufferSize="65536"  
                      maximumFileSize="20480000"  
                      logRetentionOption="LimitedCircularFiles"  
                      maximumNumberOfFiles="2"/>  
                </listeners>  
            </source>  
        </sources>  
    </system.diagnostics>  

Kelas EventSchemaTraceListener mewarisi Filter properti dari kelas TraceListenerdasar . Properti Filter memungkinkan tingkat pemfilteran output jejak tambahan di pendengar. Jika filter ada, Trace metode pendengar jejak memanggil ShouldTrace metode filter untuk menentukan apakah akan memancarkan jejak.

Jika upaya dilakukan untuk menulis ke file yang sedang digunakan atau tidak tersedia, akhiran GUID secara otomatis ditambahkan ke nama file.

Catatan

Metode pendengar dimaksudkan untuk dipanggil dengan metode Debugkelas , Trace, dan TraceSource . Jangan memanggil metode pendengar langsung dari kode aplikasi. Pendengar EventSchemaTraceListener terutama ditujukan untuk digunakan oleh TraceSource kelas .

Tabel berikut ini menjelaskan elemen dan atribut output XML.

Elemen Atribut Output Catatan
CallStack Tidak ada Tergantung pada keberadaan Callstack bendera di TraceOutputOptions properti . Karakter khusus seperti > atau < diganti dengan urutan escape. Lihat tabel terjemahan karakter yang lolos di tabel berikutnya.
Computer Tidak ada Selalu ada. Elemen ini mewakili nilai MachineName properti .
Correlation ActivityID Selalu ada. Jika ActivityID tidak ditentukan, defaultnya adalah GUID kosong.
RelatedActivityID Tergantung pada keberadaan relatedActivityId parameter dalam Trace panggilan metode. Atribut RelatedActivityID sesuai dengan relatedActivityId parameter TraceTransfer metode .
Data Tidak ada Selalu ada. Elemen ini mewakili input parameter (data). Satu elemen disediakan untuk setiap objek data. Dalam kasus log peristiwa, Data elemen berisi data XML yang lolos. Dalam kasus log data, Data elemen berisi data yang tidak dilewati. Output log data menggunakan ToString metode objek data yang diteruskan.
Event Tidak ada Selalu ada. Elemen ini berisi peristiwa pelacakan.
EventData Tidak ada Ada untuk log peristiwa. Elemen ini mewakili input parameter (message, args). Ini berisi Data elemen dengan data XML yang lolos yang dibuat dengan memanggil TraceEvent metode .
EventID Tidak ada Selalu ada. Elemen ini mewakili input parameter (id).
Execution ProcessID Tergantung pada keberadaan ProcessId bendera di TraceOutputOptions properti . Atribut ProcessID ditentukan dalam TraceEventCache.
ThreadID Ada saat ProcessID ada. Atribut ThreadID ditentukan dalam TraceEventCache.
Level Tidak ada Selalu ada. Elemen ini mewakili input parameter (nilai numerik ).eventType Nilai parameter yang lebih besar dari 255 adalah output sebagai tingkat 8, yang mewakili TraceEventType.Information. Lacak jenis Criticalperistiwa , Error, Warning, Information, dan Verbose masing-masing merupakan output sebagai tingkat 1, 2, 4, 8, dan 10.
LogicalOperationStack Tidak ada Tergantung pada keberadaan LogicalOperationStack bendera di TraceOutputOptions properti . Hanya satu operasi logis yang dapat ada. Oleh karena itu, nilai ditulis sebagai LogicalOperation simpul di LogicalOperationStack bawah elemen .
OpCode Tidak ada Hadir saat Level lebih besar dari 255. Elemen ini mewakili jenis peristiwa Pelacakan yang memiliki nilai numerik lebih besar dari 255. Start, , StopSuspend, Resume, atau Transfer adalah output sebagai tingkat masing-masing 1, 2, 4, 8, dan 10.
Provider GUID Selalu ada. Selalu kosong.
RenderingInfo Culture Selalu ada. Atribut ini mewakili string sumber daya untuk jenis peristiwa. Selalu "en-EN\".
System Name Selalu ada.
TimeCreated SystemTime Tergantung pada keberadaan DateTime bendera di TraceOutputOptions properti . Waktu adalah nilai TraceEventCache.DateTime properti . Properti ini dinyatakan sebagai Waktu Universal Terkoordinasi
TimeStamp Tidak ada Tergantung pada keberadaan Timestamp bendera di TraceOutputOptions properti . Elemen ini ditentukan dalam TraceEventCache.
UserData Tidak ada Ada untuk log data. Elemen ini berisi Data elemen dengan data yang tidak diescaped dan disediakan pengguna dari TraceData metode .

Tabel berikut ini memperlihatkan karakter yang lolos dalam output XML. Pelepasan terjadi di semua elemen dan atribut kecuali untuk UserData elemen , yang berisi data yang disediakan pengguna dan tidak dilewati. Elemen UserData adalah hasil dari panggilan ke TraceData metode .

Karakter escape Nilai
& &
< <
> >
" "
|'
0xD
0xA

Konstruktor

EventSchemaTraceListener(String)

Menginisialisasi instans EventSchemaTraceListener baru kelas, menggunakan file yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan.

EventSchemaTraceListener(String, String)

Menginisialisasi instans EventSchemaTraceListener baru kelas dengan nama yang ditentukan, menggunakan file yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan.

EventSchemaTraceListener(String, String, Int32)

Menginisialisasi instans EventSchemaTraceListener baru kelas dengan nama yang ditentukan dan ukuran buffer yang ditentukan, menggunakan file yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan.

EventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption)

Menginisialisasi instans EventSchemaTraceListener baru kelas dengan nama yang ditentukan dan ukuran buffer yang ditentukan, menggunakan file yang ditentukan dengan kebijakan penyimpanan log yang ditentukan sebagai penerima output penelusuran kesalahan dan pelacakan.

EventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption, Int64)

Menginisialisasi instans EventSchemaTraceListener baru kelas dengan nama yang ditentukan dan ukuran buffer yang ditentukan, menggunakan file yang ditentukan dengan kebijakan penyimpanan log yang ditentukan dan ukuran maksimum sebagai penerima output penelusuran kesalahan dan pelacakan.

EventSchemaTraceListener(String, String, Int32, TraceLogRetentionOption, Int64, Int32)

Menginisialisasi instans EventSchemaTraceListener baru kelas dengan nama yang ditentukan dan ukuran buffer yang ditentukan, menggunakan file yang ditentukan dengan kebijakan penyimpanan log yang ditentukan, ukuran maksimum, dan jumlah file sebagai penerima output penelusuran kesalahan dan pelacakan.

Properti

Attributes

Mendapatkan atribut pendengar pelacakan kustom yang ditentukan dalam file konfigurasi aplikasi.

(Diperoleh dari TraceListener)
BufferSize

Mendapatkan ukuran buffer output.

Filter

Mendapatkan atau mengatur filter pelacakan untuk pendengar jejak.

(Diperoleh dari TraceListener)
IndentLevel

Mendapatkan atau mengatur tingkat inden.

(Diperoleh dari TraceListener)
IndentSize

Mendapatkan atau mengatur jumlah spasi dalam inden.

(Diperoleh dari TraceListener)
IsThreadSafe

Mendapatkan nilai yang menunjukkan apakah pendengar jejak aman untuk utas.

MaximumFileSize

Mendapatkan ukuran maksimum file log.

MaximumNumberOfFiles

Mendapatkan jumlah maksimum file log.

Name

Mendapatkan atau menetapkan nama untuk ini TraceListener.

(Diperoleh dari TraceListener)
NeedIndent

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengindentasi output.

(Diperoleh dari TraceListener)
TraceLogRetentionOption

Mendapatkan opsi retensi log pelacakan untuk file.

TraceOutputOptions

Mendapatkan atau mengatur opsi output jejak.

(Diperoleh dari TraceListener)
Writer

Mendapatkan atau mengatur penulis teks yang mendasar yang menulis ke file log.

Metode

Close()

Menutup file log untuk pendengar ini sehingga tidak lagi menerima output pelacakan atau penelusuran kesalahan.

CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Dispose()

Merilis semua sumber daya yang TraceListenerdigunakan oleh .

(Diperoleh dari TraceListener)
Dispose(Boolean)

Buang obyek ini TextWriterTraceListener .

(Diperoleh dari TextWriterTraceListener)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Fail(String)

Memancarkan pesan kesalahan ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas.

(Diperoleh dari TraceListener)
Fail(String, String)

Menulis informasi kesalahan, termasuk pesan kesalahan dasar dan pesan kesalahan terperinci, ke file log.

Flush()

Menyebabkan data buffer ditulis ke log untuk pendengar ini.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetSupportedAttributes()

Mendapatkan atribut konfigurasi XML kustom yang didukung pendengar pelacakan.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Menulis informasi pelacakan, objek data tunggal, dan informasi peristiwa ke file log.

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Menulis informasi pelacakan, beberapa objek data, dan informasi peristiwa ke file log.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Menulis jejak dan informasi peristiwa ke output spesifik pendengar.

(Diperoleh dari TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Menulis informasi pelacakan, pesan, dan informasi peristiwa ke file log.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Menulis informasi pelacakan, pesan yang diformat, dan informasi peristiwa ke file log.

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Menulis informasi pelacakan, termasuk identitas aktivitas terkait, pesan, dan informasi peristiwa, ke file log.

Write(Object)

Menulis nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas .

(Diperoleh dari TraceListener)
Write(Object, String)

Menulis nama kategori dan nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas.

(Diperoleh dari TraceListener)
Write(String)

Menulis pesan ke file log tanpa memberikan informasi konteks tambahan apa pun.

Write(String, String)

Menulis nama kategori dan pesan ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas.

(Diperoleh dari TraceListener)
WriteIndent()

Menulis inden ke pendengar yang Anda buat saat mengimplementasikan kelas ini, dan mengatur ulang NeedIndent properti ke false.

(Diperoleh dari TraceListener)
WriteLine(Object)

Menulis nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas, diikuti dengan terminator baris.

(Diperoleh dari TraceListener)
WriteLine(Object, String)

Menulis nama kategori dan nilai metode objek ToString() ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas, diikuti dengan terminator baris.

(Diperoleh dari TraceListener)
WriteLine(String)

Menulis pesan diikuti oleh terminator baris saat ini ke file log tanpa memberikan informasi konteks tambahan.

WriteLine(String, String)

Menulis nama kategori dan pesan ke pendengar yang Anda buat saat mengimplementasikan TraceListener kelas, diikuti dengan terminator baris.

(Diperoleh dari TraceListener)

Berlaku untuk