TraceSource Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Uygulamaların kodun yürütülmesini izlemesini ve izleme iletilerini kaynaklarıyla ilişkilendirmesini sağlayan bir dizi yöntem ve özellik sağlar.
public ref class TraceSource
public class TraceSource
type TraceSource = class
Public Class TraceSource
- Devralma
-
TraceSource
Örnekler
Aşağıdaki kod örneği, izlemeleri dinleyicilere iletmek için sınıfının kullanımını TraceSource gösterir. Örnekte anahtar ve filtre kullanımı da gösterilmektedir.
/////////////////////////////////////////////////////////////////////////////////
//
// NAME TraceSource2.cpp : main project file
//
/////////////////////////////////////////////////////////////////////////////////
// The following configuration file can be used with this sample.
// When using a configuration file #define ConfigFile.
// <source name="TraceTest" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >
// <add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false" />
// <remove name ="Default" />
// <!-- You can set the level at which tracing is to occur -->
// <add name="SourceSwitch" value="Warning" />
// <!-- You can turn tracing off -->
// <!--add name="SourceSwitch" value="Off" -->
// <trace autoflush="true" indentsize="4"></trace>
#define TRACE
//#define ConfigFile
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Diagnostics;
using namespace System::Reflection;
using namespace System::IO;
using namespace System::Security::Permissions;
void DisplayProperties(TraceSource^ ts); // Forward Declaration
int main()
{
TraceSource^ ts = gcnew TraceSource("TraceTest");
try
{
// Initialize trace switches.
#if(!ConfigFile)
SourceSwitch^ sourceSwitch = gcnew SourceSwitch("SourceSwitch", "Verbose");
ts->Switch = sourceSwitch;
int idxConsole = ts->Listeners->Add(gcnew System::Diagnostics::ConsoleTraceListener());
ts->Listeners[idxConsole]->Name = "console";
#endif
DisplayProperties(ts);
ts->Listeners["console"]->TraceOutputOptions |= TraceOptions::Callstack;
ts->TraceEvent(TraceEventType::Warning, 1);
ts->Listeners["console"]->TraceOutputOptions = TraceOptions::DateTime;
// Issue file not found message as a warning.
ts->TraceEvent(TraceEventType::Warning, 2, "File Test not found");
// Issue file not found message as a verbose event using a formatted string.
ts->TraceEvent(TraceEventType::Verbose, 3, "File {0} not found.", "test");
// Issue file not found message as information.
ts->TraceInformation("File {0} not found.", "test");
ts->Listeners["console"]->TraceOutputOptions |= TraceOptions::LogicalOperationStack;
// Issue file not found message as an error event.
ts->TraceEvent(TraceEventType::Error, 4, "File {0} not found.", "test");
// Test the filter on the ConsoleTraceListener.
ts->Listeners["console"]->Filter = gcnew SourceFilter("No match");
ts->TraceData(TraceEventType::Error, 5,
"SourceFilter should reject this message for the console trace listener.");
ts->Listeners["console"]->Filter = gcnew SourceFilter("TraceTest");
ts->TraceData(TraceEventType::Error, 6,
"SourceFilter should let this message through on the console trace listener.");
ts->Listeners["console"]->Filter = nullptr;
// Use the TraceData method.
ts->TraceData(TraceEventType::Warning, 7, gcnew array<Object^>{ "Message 1", "Message 2" });
// Activity tests.
ts->TraceEvent(TraceEventType::Start, 9, "Will not appear until the switch is changed.");
ts->Switch->Level = SourceLevels::ActivityTracing | SourceLevels::Critical;
ts->TraceEvent(TraceEventType::Suspend, 10, "Switch includes ActivityTracing, this should appear");
ts->TraceEvent(TraceEventType::Critical, 11, "Switch includes Critical, this should appear");
ts->Flush();
ts->Close();
Console::WriteLine("Press enter key to exit.");
Console::Read();
}
catch (Exception ^e)
{
// Catch any unexpected exception.
Console::WriteLine("Unexpected exception: " + e->ToString());
Console::Read();
}
}
void DisplayProperties(TraceSource^ ts)
{
Console::WriteLine("TraceSource name = " + ts->Name);
// Console::WriteLine("TraceSource switch level = " + ts->Switch->Level); // error C3063: operator '+': all operands must have the same enumeration type
Console::WriteLine("TraceSource switch level = {0}", ts->Switch->Level); // SUCCESS: does compile. Weird
Console::WriteLine("TraceSource Attributes Count " + ts->Attributes->Count); // SUCCESS: also compiles. Really weird
Console::WriteLine("TraceSource Attributes Count = {0}", ts->Attributes->Count); // SUCCESS: okay, I give up. Somebody call me a cab.
Console::WriteLine("TraceSource switch = " + ts->Switch->DisplayName);
array<SwitchAttribute^>^ switches = SwitchAttribute::GetAll(TraceSource::typeid->Assembly);
for (int i = 0; i < switches->Length; i++)
{
Console::WriteLine("Switch name = " + switches[i]->SwitchName);
Console::WriteLine("Switch type = " + switches[i]->SwitchType);
}
#if(ConfigFile)
// Get the custom attributes for the TraceSource.
Console::WriteLine("Number of custom trace source attributes = "
+ ts.Attributes.Count);
foreach (DictionaryEntry de in ts.Attributes)
Console::WriteLine("Custom trace source attribute = "
+ de.Key + " " + de.Value);
// Get the custom attributes for the trace source switch.
foreach (DictionaryEntry de in ts.Switch.Attributes)
Console::WriteLine("Custom switch attribute = "
+ de.Key + " " + de.Value);
#endif
Console::WriteLine("Number of listeners = " + ts->Listeners->Count);
for each (TraceListener ^ traceListener in ts->Listeners)
{
Console::Write("TraceListener: " + traceListener->Name + "\t");
// The following output can be used to update the configuration file.
Console::WriteLine("AssemblyQualifiedName = " +
(traceListener->GetType()->AssemblyQualifiedName));
}
}
// The following configuration file can be used with this sample.
// When using a configuration file #define ConfigFile.
// <source name="TraceTest" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >
// <add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false" />
// <remove name ="Default" />
// <!-- You can set the level at which tracing is to occur -->
// <add name="SourceSwitch" value="Warning" />
// <!-- You can turn tracing off -->
// <!--add name="SourceSwitch" value="Off" -->
// <trace autoflush="true" indentsize="4"></trace>
#define TRACE
//#define ConfigFile
using System;
using System.Collections;
using System.Diagnostics;
using System.Reflection;
using System.IO;
using System.Security.Permissions;
namespace Testing
{
class TraceTest
{
// Initialize the trace source.
static TraceSource ts = new TraceSource("TraceTest");
[SwitchAttribute("SourceSwitch", typeof(SourceSwitch))]
static void Main()
{
try
{
// Initialize trace switches.
#if(!ConfigFile)
SourceSwitch sourceSwitch = new SourceSwitch("SourceSwitch", "Verbose");
ts.Switch = sourceSwitch;
int idxConsole = ts.Listeners.Add(new System.Diagnostics.ConsoleTraceListener());
ts.Listeners[idxConsole].Name = "console";
#endif
DisplayProperties(ts);
ts.Listeners["console"].TraceOutputOptions |= TraceOptions.Callstack;
ts.TraceEvent(TraceEventType.Warning, 1);
ts.Listeners["console"].TraceOutputOptions = TraceOptions.DateTime;
// Issue file not found message as a warning.
ts.TraceEvent(TraceEventType.Warning, 2, "File Test not found");
// Issue file not found message as a verbose event using a formatted string.
ts.TraceEvent(TraceEventType.Verbose, 3, "File {0} not found.", "test");
// Issue file not found message as information.
ts.TraceInformation("File {0} not found.", "test");
ts.Listeners["console"].TraceOutputOptions |= TraceOptions.LogicalOperationStack;
// Issue file not found message as an error event.
ts.TraceEvent(TraceEventType.Error, 4, "File {0} not found.", "test");
// Test the filter on the ConsoleTraceListener.
ts.Listeners["console"].Filter = new SourceFilter("No match");
ts.TraceData(TraceEventType.Error, 5,
"SourceFilter should reject this message for the console trace listener.");
ts.Listeners["console"].Filter = new SourceFilter("TraceTest");
ts.TraceData(TraceEventType.Error, 6,
"SourceFilter should let this message through on the console trace listener.");
ts.Listeners["console"].Filter = null;
// Use the TraceData method.
ts.TraceData(TraceEventType.Warning, 7, new object());
ts.TraceData(TraceEventType.Warning, 8, new object[] { "Message 1", "Message 2" });
// Activity tests.
ts.TraceEvent(TraceEventType.Start, 9, "Will not appear until the switch is changed.");
ts.Switch.Level = SourceLevels.ActivityTracing | SourceLevels.Critical;
ts.TraceEvent(TraceEventType.Suspend, 10, "Switch includes ActivityTracing, this should appear");
ts.TraceEvent(TraceEventType.Critical, 11, "Switch includes Critical, this should appear");
ts.Flush();
ts.Close();
Console.WriteLine("Press any key to exit.");
Console.Read();
}
catch (Exception e)
{
// Catch any unexpected exception.
Console.WriteLine("Unexpected exception: " + e.ToString());
Console.Read();
}
}
public static void DisplayProperties(TraceSource ts)
{
Console.WriteLine("TraceSource name = " + ts.Name);
Console.WriteLine("TraceSource switch level = " + ts.Switch.Level);
Console.WriteLine("TraceSource switch = " + ts.Switch.DisplayName);
SwitchAttribute[] switches = SwitchAttribute.GetAll(typeof(TraceTest).Assembly);
for (int i = 0; i < switches.Length; i++)
{
Console.WriteLine("Switch name = " + switches[i].SwitchName);
Console.WriteLine("Switch type = " + switches[i].SwitchType);
}
#if(ConfigFile)
// Get the custom attributes for the TraceSource.
Console.WriteLine("Number of custom trace source attributes = "
+ ts.Attributes.Count);
foreach (DictionaryEntry de in ts.Attributes)
Console.WriteLine("Custom trace source attribute = "
+ de.Key + " " + de.Value);
// Get the custom attributes for the trace source switch.
foreach (DictionaryEntry de in ts.Switch.Attributes)
Console.WriteLine("Custom switch attribute = "
+ de.Key + " " + de.Value);
#endif
Console.WriteLine("Number of listeners = " + ts.Listeners.Count);
foreach (TraceListener traceListener in ts.Listeners)
{
Console.Write("TraceListener: " + traceListener.Name + "\t");
// The following output can be used to update the configuration file.
Console.WriteLine("AssemblyQualifiedName = " +
(traceListener.GetType().AssemblyQualifiedName));
}
}
}
}
' The following configuration file can be used with this sample.
' When using a configuration file #define ConfigFile.
' <source name="TraceTest" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >
' <add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false" />
' <remove name ="Default" />
' <!-- You can set the level at which tracing is to occur -->
' <add name="SourceSwitch" value="Warning" />
' <!-- You can turn tracing off -->
' <!--add name="SourceSwitch" value="Off" -->
' <trace autoflush="true" indentsize="4"></trace>
#Const TRACE = True
'#Const ConfigFile = True
Imports System.Collections
Imports System.Diagnostics
Imports System.Reflection
Imports System.IO
Imports System.Security.Permissions
Class TraceTest
' Initialize the trace source.
Private Shared ts As New TraceSource("TraceTest")
<SwitchAttribute("SourceSwitch", GetType(SourceSwitch))> _
Shared Sub Main()
Try
' Initialize trace switches.
#If (ConfigFile = False) Then
Dim sourceSwitch As New SourceSwitch("SourceSwitch", "Verbose")
ts.Switch = sourceSwitch
Dim idxConsole As New Integer()
idxConsole = ts.Listeners.Add(New System.Diagnostics.ConsoleTraceListener())
ts.Listeners(idxConsole).Name = "console"
#End If
DisplayProperties(ts)
ts.Listeners("console").TraceOutputOptions = ts.Listeners("console").TraceOutputOptions Or TraceOptions.Callstack
ts.TraceEvent(TraceEventType.Warning, 1)
ts.Listeners("console").TraceOutputOptions = TraceOptions.DateTime
' Issue file not found message as a warning.
ts.TraceEvent(TraceEventType.Warning, 2, "File Test not found")
' Issue file not found message as a verbose event using a formatted string.
ts.TraceEvent(TraceEventType.Verbose, 3, "File {0} not found.", "test")
' Issue file not found message as information.
ts.TraceInformation("File {0} not found.", "test")
ts.Listeners("console").TraceOutputOptions = ts.Listeners("console").TraceOutputOptions Or TraceOptions.LogicalOperationStack
' Issue file not found message as an error event.
ts.TraceEvent(TraceEventType.Error, 4, "File {0} not found.", "test")
' Test the filter on the ConsoleTraceListener.
ts.Listeners("console").Filter = New SourceFilter("No match")
ts.TraceData(TraceEventType.Error, 5, "SourceFilter should reject this message for the console trace listener.")
ts.Listeners("console").Filter = New SourceFilter("TraceTest")
ts.TraceData(TraceEventType.Error, 6, "SourceFilter should let this message through on the console trace listener.")
ts.Listeners("console").Filter = Nothing
' Use the TraceData method.
ts.TraceData(TraceEventType.Warning, 7, New Object())
ts.TraceData(TraceEventType.Warning, 8, New Object() {"Message 1", "Message 2"})
' Activity tests.
ts.TraceEvent(TraceEventType.Start, 9, "Will not appear until the switch is changed.")
ts.Switch.Level = SourceLevels.ActivityTracing Or SourceLevels.Critical
ts.TraceEvent(TraceEventType.Suspend, 10, "Switch includes ActivityTracing, this should appear")
ts.TraceEvent(TraceEventType.Critical, 11, "Switch includes Critical, this should appear")
ts.Flush()
ts.Close()
Console.WriteLine("Press any key to exit.")
Console.Read()
Catch e As Exception
' Catch any unexpected exception.
Console.WriteLine("Unexpected exception: " + e.ToString())
Console.Read()
End Try
End Sub
Public Shared Sub DisplayProperties(ByVal ts As TraceSource)
Console.WriteLine("TraceSource name = " + ts.Name)
Console.WriteLine("TraceSource switch level = " + ts.Switch.Level.ToString())
Console.WriteLine("TraceSource switch = " + ts.Switch.DisplayName.ToString())
Dim switches As SwitchAttribute() = SwitchAttribute.GetAll(GetType(TraceTest).Assembly)
Dim i As Integer
For i = 0 To switches.Length - 1
Console.WriteLine("Switch name = " + switches(i).SwitchName.ToString())
Console.WriteLine("Switch type = " + switches(i).SwitchType.ToString())
Next i
#If (ConfigFile) Then
' Get the custom attributes for the TraceSource.
Console.WriteLine("Number of custom trace source attributes = " + ts.Attributes.Count)
Dim de As DictionaryEntry
For Each de In ts.Attributes
Console.WriteLine("Custom trace source attribute = " + de.Key + " " + de.Value)
Next de
' Get the custom attributes for the trace source switch.
For Each de In ts.Switch.Attributes
Console.WriteLine("Custom switch attribute = " + de.Key + " " + de.Value)
Next de
#End If
Console.WriteLine("Number of listeners = " + ts.Listeners.Count.ToString())
Dim traceListener As TraceListener
For Each traceListener In ts.Listeners
Console.Write("TraceListener: " + traceListener.Name + vbTab)
' The following output can be used to update the configuration file.
Console.WriteLine("AssemblyQualifiedName = " + traceListener.GetType().AssemblyQualifiedName)
Next traceListener
End Sub
End Class
Açıklamalar
TraceSource sınıfı, uygulamalar tarafından uygulamayla ilişkilendirilebilen izlemeler oluşturmak için kullanılır. TraceSource olayları kolayca izlemenize, verileri izlemenize ve bilgilendirme izlemeleri vermenize olanak sağlayan izleme yöntemleri sağlar.
.NET Framework uygulamalarında, izleme TraceSource çıktısı yapılandırma dosyası ayarları tarafından denetlenebilir. Yapılandırma dosyası, uygulamanın yürütülebilir dosyasının bulunduğu klasörde bulunur ve .config uzantısının eklendiği uygulamanın adını içerir. Örneğin, TraceSourceSample.exe yapılandırma dosyasının adı TraceSourceSample.exe.config. Yapılandırma dosyası, izleme bilgilerinin nereye gönderileceğini ve hangi etkinlik düzeylerinin izleneceğini belirtmek için kullanılabilir. Aşağıdaki örnekte örnek .NET Framework uygulama yapılandırma dosyasının içeriği gösterilmektedir.
<configuration>
<system.diagnostics>
<sources>
<source name="TraceTest" switchName="SourceSwitch"
switchType="System.Diagnostics.SourceSwitch" >
<listeners>
<add name="console" />
<remove name ="Default" />
</listeners>
</source>
</sources>
<switches>
<!-- You can set the level at which tracing is to occur -->
<add name="SourceSwitch" value="Warning" />
<!-- You can turn tracing off -->
<!--add name="SourceSwitch" value="Off" -->
</switches>
<sharedListeners>
<add name="console"
type="System.Diagnostics.ConsoleTraceListener"
initializeData="false"/>
</sharedListeners>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="console" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
TraceSource sınıfı, genellikle uygulamanın adı olan bir kaynağın adıyla tanımlanır. Belirli bir bileşenden gelen izleme iletileri belirli bir izleme kaynağı tarafından başlatılabilir ve bu bileşenden gelen tüm iletilerin kolayca tanımlanmasını sağlar.
TraceSource izleme yöntemlerini tanımlar ancak izleme verilerini oluşturmak ve depolamak için belirli bir mekanizma sağlamaz. İzleme verileri, izleme kaynakları tarafından yüklenebilen eklentiler olan izleme dinleyicileri tarafından oluşturulur.
Not
Sonlandırma sırasında izleme yöntemlerini çağırmamalısınız. Bunun yapılması, bir ObjectDisposedException atılmayla sonuçlanabilir.
özelliğinde depolanan koleksiyona örnekler ekleyerek veya koleksiyondan örnekleri kaldırarak TraceListener izleme çıkışının hedefini TraceSource.Listeners özelleştirebilirsiniz. Varsayılan olarak, izleme çıkışı sınıfının bir örneği DefaultTraceListener kullanılarak oluşturulur.
Önceki .NET Framework uygulama yapılandırma dosyası örneği, izleme kaynağı için izleme çıktısını DefaultTraceListener oluşturmak üzere öğesinin kaldırılmasını ve eklenmesini ConsoleTraceListener gösterir. Daha fazla bilgi için bkz <. dinleyiciler> ve <sharedListeners>.
Not
İzleme dinleyicisi tarafından kullanılan bir kaynak kullanılamıyorsa, koleksiyona Listeners izleme dinleyicisi eklemek, izleme sırasında bir özel durum oluşturmasına neden olabilir. Oluşan koşullar ve özel durum izleme dinleyicisine bağlıdır ve bu konuda numaralandırılamaz. İzleme dinleyicilerinden gelen özel durumları algılamak TraceSource ve işlemek için bloklardaki try
/catch
yöntemlere çağrı yapmak yararlı olabilir.
sınıfı, SourceSwitch izleme çıkışını dinamik olarak denetlemek için araçlar sağlar. .NET Framework uygulamalar için, yukarıdaki yapılandırma dosyası örneğinde izleme kaynağından izlemeyi nasıl kapatabileceğiniz ve izlemenin gerçekleştiği düzeyi nasıl denetleyebileceğiniz gösterilmektedir. Uygulamanızı yeniden derlemeden kaynak anahtarın değerini değiştirebilirsiniz. Yapılandırma dosyasını kullanarak anahtar ayarlama hakkında bilgi için bkzSwitch. ve Nasıl yapılır: İçerik Oluşturucu, İzleme Anahtarlarını Başlatma ve Yapılandırma.
Not
Bir uygulama yürütülürken yapılandırma dosyasını değiştirirseniz, yeni ayarların etkili olması için uygulamanın durdurulması ve yeniden başlatılması veya Refresh yöntemin çağrılması gerekir.
Numaralandırma TraceEventType , izleme iletisinin olay türünü tanımlamak için kullanılır. İzleme filtreleri, izleme dinleyicisinin TraceEventType izleme iletisini üretmesi gerekip gerekmediğini belirlemek için öğesini kullanır.
İzleme dinleyicileri isteğe bağlı olarak izleme filtresi aracılığıyla ek bir filtreleme katmanına sahip olabilir. İzleme dinleyicisinin ilişkili bir filtresi varsa dinleyici, izleme bilgilerini oluşturup oluşturmayacağını belirlemek için bu filtrede yöntemini çağırır ShouldTrace .
İzleme dinleyicileri, izleme çıkışını Trace biçimlendirmek için , IndentSizeve AutoFlush sınıf özelliklerinin Indentdeğerlerini kullanır. .NET Framework uygulamalarında, yapılandırma dosyası özniteliklerini kullanarak , IndentSizeve AutoFlush özelliklerini ayarlayabilirsinizIndent. Aşağıdaki örnek özelliğini olarak, özelliğini false
ise IndentSize 3 olarak ayarlarAutoFlush.
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="3" />
</system.diagnostics>
</configuration>
Oluşturucular
TraceSource(String) |
Kaynak için belirtilen adı kullanarak sınıfının yeni bir örneğini TraceSource başlatır. |
TraceSource(String, SourceLevels) |
Kaynak için belirtilen adı ve izlemenin TraceSource gerçekleştirildiği varsayılan kaynak düzeyini kullanarak sınıfının yeni bir örneğini başlatır. |
Özellikler
Attributes |
Uygulama yapılandırma dosyasında tanımlanan özel anahtar özniteliklerini alır. |
DefaultLevel |
Oluşturucuda atanan varsayılan düzeyi alır. |
Listeners |
İzleme kaynağı için izleme dinleyicileri koleksiyonunu alır. |
Name |
İzleme kaynağının adını alır. |
Switch |
Kaynak anahtar değerini alır veya ayarlar. |
Yöntemler
Close() |
İzleme dinleyicisi koleksiyonundaki tüm izleme dinleyicilerini kapatır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Flush() |
İzleme dinleyicisi koleksiyonundaki tüm izleme dinleyicilerini temizler. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetSupportedAttributes() |
İzleme kaynağı tarafından desteklenen özel öznitelikleri alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
TraceData(TraceEventType, Int32, Object) |
Belirtilen olay türünü, olay tanımlayıcısını ve izleme verilerini kullanarak izleme verilerini koleksiyondaki Listeners izleme dinleyicilerine yazar. |
TraceData(TraceEventType, Int32, Object[]) |
Belirtilen olay türünü, olay tanımlayıcısını ve izleme veri dizisini Listeners kullanarak izleme verilerini koleksiyondaki izleme dinleyicilerine yazar. |
TraceEvent(TraceEventType, Int32) |
Belirtilen olay türünü ve olay tanımlayıcısını kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir izleme olayı iletisi yazar. |
TraceEvent(TraceEventType, Int32, String) |
Belirtilen olay türünü, olay tanımlayıcısını ve iletiyi kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir izleme olayı iletisi yazar. |
TraceEvent(TraceEventType, Int32, String, Object[]) |
Belirtilen olay türünü, olay tanımlayıcısını ve bağımsız değişken dizisini ve biçimini kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir izleme olayı yazar. |
TraceInformation(String) |
Belirtilen iletiyi kullanarak koleksiyondaki Listeners izleme dinleyicilerine bilgilendirici bir ileti yazar. |
TraceInformation(String, Object[]) |
Belirtilen nesne dizisini ve biçimlendirme bilgilerini kullanarak koleksiyondaki Listeners izleme dinleyicilerine bilgilendirici bir ileti yazar. |
TraceTransfer(Int32, String, Guid) |
Belirtilen sayısal tanımlayıcıyı, iletiyi ve ilgili etkinlik tanımlayıcısını kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir izleme aktarım iletisi yazar. |
Ekinlikler
Initializing |
Başlatılması TraceSource gerektiğinde gerçekleşir. |
Şunlara uygulanır
İş Parçacığı Güvenliği
Bu güvenli iş parçacığı türüdür.