Trace Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan serangkaian metode dan properti yang membantu Anda melacak eksekusi kode Anda. Kelas ini tidak dapat diwariskan.
public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
- Warisan
-
Trace
Contoh
Contoh berikut menggunakan Trace untuk menunjukkan awal dan akhir eksekusi program. Contohnya juga menggunakan Trace.Indent metode dan Trace.Unindent untuk membedakan output pelacakan. Untuk contoh Tracepenggunaan yang lebih lengkap , lihat Cara: Menambahkan Pernyataan Pelacakan ke Kode Aplikasi.
// 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
Keterangan
Anda dapat menggunakan properti dan metode di Trace kelas untuk merilis build instrumen. Instrumentasi memungkinkan Anda untuk memantau kesehatan aplikasi Anda yang berjalan dalam pengaturan kehidupan nyata. Pelacakan membantu Anda mengisolasi masalah dan memperbaikinya tanpa mengganggu sistem yang sedang berjalan.
Kelas ini menyediakan metode untuk menampilkan Assert kotak dialog, dan untuk memancarkan pernyataan yang akan selalu Fail. Kelas ini menyediakan metode tulis dalam variasi berikut:
Kelas BooleanSwitch dan TraceSwitch menyediakan sarana untuk mengontrol output pelacakan secara dinamis. Di aplikasi .NET Framework, Anda dapat memodifikasi nilai sakelar ini tanpa mengolah ulang aplikasi Anda. Untuk informasi tentang menggunakan file konfigurasi untuk mengatur sakelar di aplikasi .NET Framework, lihat Switch kelas dan Cara: Create, Menginisialisasi, dan Mengonfigurasi Sakelar Pelacakan.
Anda dapat menyesuaikan target output pelacakan dengan menambahkan TraceListener instans ke atau menghapus instans dari Listeners koleksi. Koleksi Listeners dibagikan oleh Debug dan Trace kelas; menambahkan pendengar jejak ke salah satu kelas menambahkan pendengar ke keduanya. Secara default, output jejak dipancarkan menggunakan DefaultTraceListener kelas .
Catatan
Menambahkan pendengar jejak ke Listeners koleksi dapat menyebabkan pengecualian dilemparkan saat melacak, jika sumber daya yang digunakan oleh pendengar pelacakan tidak tersedia. Kondisi dan pengecualian yang dilemparkan tergantung pada pendengar jejak dan tidak dapat dijumlahkan dalam topik ini. Mungkin berguna untuk melakukan panggilan ke Trace metode dalam try
/catch
blok untuk mendeteksi dan menangani pengecualian apa pun dari pendengar pelacakan.
Catatan
Jika Anda menambahkan pendengar jejak ke kode tepercaya sebagian, Anda akan mendapatkan SecurityException pengecualian, karena menambahkan pendengar jejak memerlukan UnmanagedCode izin. Untuk melacak sebagian kode tepercaya yang berjalan di kotak pasir di Visual Studio, jangan tambahkan pendengar pelacakan. Sebagai gantinya Trace , lihat pesan dan Debug di jendela Output .
Kelas Trace menyediakan properti untuk mendapatkan atau mengatur tingkat Indent dan IndentSize, dan apakah akan AutoFlush setelah setiap penulisan.
Di aplikasi .NET Framework, Anda dapat mengatur AutoFlush dan IndentSize untuk Trace dengan mengedit file konfigurasi yang sesuai dengan nama aplikasi Anda. File konfigurasi harus diformat seperti contoh berikut:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
Atribut ConditionalAttribute diterapkan ke metode Trace. Pengkompilasi yang mendukung ConditionalAttribute mengabaikan panggilan ke metode ini kecuali TRACE
didefinisikan sebagai simbol kompilasi bersyarat. Lihat dokumentasi pengkompilasi untuk menentukan apakah ConditionalAttribute didukung dan sintaks untuk menentukan simbol kompilasi bersyar.
Catatan
Dalam proyek Visual Studio, secara default, DEBUG
simbol kompilasi kondisional didefinisikan untuk build debug, dan TRACE
simbol didefinisikan untuk build debug dan rilis.
Untuk menentukan TRACE
simbol kompilasi bersyar di C#, tambahkan /d:TRACE
opsi ke baris perintah pengkompilasi saat Anda mengkompilasi kode menggunakan baris perintah, atau tambahkan #define TRACE
ke bagian atas file Anda. Di Visual Basic, tambahkan /d:TRACE=True
opsi ke baris perintah pengkompilasi atau tambahkan #Const TRACE=True
ke file.
ConditionalAttribute tidak didukung oleh pengkompilasi C++. Untuk menyediakan fungsionalitas yang setara, Anda harus mengapit panggilan ke metode Trace dalam #if defined(TRACE) ... #endif
blok, dan menambahkan /DTRACE
opsi ke baris perintah pengkompilasi atau menambahkan #define TRACE
ke file.
Properti
AutoFlush |
Mendapatkan atau mengatur apakah Flush() harus dipanggil pada Listeners setelah setiap penulisan. |
CorrelationManager |
Mendapatkan manajer korelasi untuk utas untuk jejak ini. |
IndentLevel |
Mendapatkan atau mengatur tingkat inden. |
IndentSize |
Mendapatkan atau mengatur jumlah spasi dalam inden. |
Listeners |
Mendapatkan kumpulan pendengar yang memantau output jejak. |
UseGlobalLock |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah kunci global harus digunakan. |
Metode
Assert(Boolean) |
Memeriksa kondisi; jika kondisinya , |
Assert(Boolean, String) |
Memeriksa kondisi; jika kondisinya , |
Assert(Boolean, String, String) |
Memeriksa kondisi; jika kondisinya adalah |
Close() |
Bersihkan buffer output, lalu tutup Listeners. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Fail(String) |
Memancarkan pesan kesalahan yang ditentukan. |
Fail(String, String) |
Memancarkan pesan kesalahan, dan pesan kesalahan terperinci. |
Flush() |
Menghapus buffer output, dan menyebabkan data buffer ditulis ke Listeners. |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
Indent() |
Meningkatkan arus IndentLevel satu per satu. |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
Refresh() |
Merefresh data konfigurasi pelacakan. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
TraceError(String) |
Menulis pesan kesalahan ke pendengar pelacakan dalam Listeners koleksi menggunakan pesan yang ditentukan. |
TraceError(String, Object[]) |
Menulis pesan kesalahan ke pendengar pelacakan dalam Listeners koleksi menggunakan array objek dan informasi pemformatan yang ditentukan. |
TraceInformation(String) |
Menulis pesan informasi ke pendengar pelacakan dalam Listeners koleksi menggunakan pesan yang ditentukan. |
TraceInformation(String, Object[]) |
Menulis pesan informasi ke pendengar pelacakan dalam Listeners koleksi menggunakan array objek dan informasi pemformatan yang ditentukan. |
TraceWarning(String) |
Menulis pesan peringatan ke pendengar pelacakan dalam Listeners koleksi menggunakan pesan yang ditentukan. |
TraceWarning(String, Object[]) |
Menulis pesan peringatan ke pendengar pelacakan dalam Listeners koleksi menggunakan array objek dan informasi pemformatan yang ditentukan. |
Unindent() |
Mengurangi saat ini IndentLevel satu per satu. |
Write(Object) |
Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi. |
Write(Object, String) |
Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi. |
Write(String) |
Menulis pesan ke pendengar jejak dalam Listeners koleksi. |
Write(String, String) |
Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi. |
WriteIf(Boolean, Object) |
Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
WriteIf(Boolean, Object, String) |
Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
WriteIf(Boolean, String) |
Menulis pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
WriteIf(Boolean, String, String) |
Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
WriteLine(Object) |
Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi. |
WriteLine(Object, String) |
Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi. |
WriteLine(String) |
Menulis pesan ke pendengar jejak dalam Listeners koleksi. |
WriteLine(String, String) |
Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi. |
WriteLineIf(Boolean, Object) |
Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
WriteLineIf(Boolean, Object, String) |
Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
WriteLineIf(Boolean, String) |
Menulis pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
WriteLineIf(Boolean, String, String) |
Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah |
Acara
Refreshing |
Terjadi ketika TraceSource perlu disegarkan dari konfigurasi. |
Berlaku untuk
Keamanan Thread
Jenis ini aman untuk utas.