TraceSource Класс

Определение

Предоставляет набор методов и свойств, которые позволяют приложениям делать трассировку выполнения кода и связывать сообщения трассировки с их источником.Provides a set of methods and properties that enable applications to trace the execution of code and associate trace messages with their source.

public ref class TraceSource
public class TraceSource
type TraceSource = class
Public Class TraceSource
Наследование
TraceSource

Примеры

В следующем примере кода показано использование TraceSource класса для перенаправления трассировок в прослушиватели.The following code example shows the use of the TraceSource class to forward traces to listeners. В примере также демонстрируется использование переключателя и фильтра.The example also demonstrates switch and filter usage.

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

Комментарии

Класс TraceSource используется приложениями для создания трассировок, которые могут быть связаны с приложением.The TraceSource class is used by applications to produce traces that can be associated with the application. TraceSource предоставляет методы трассировки, позволяющие легко трассировать события, трассировать данные и выпускать информационные трассировки.TraceSource provides tracing methods that allow you to easily trace events, trace data, and issue informational traces. Выходные данные трассировки TraceSource можно контролировать с помощью параметров файла конфигурации.Trace output from TraceSource can be controlled by configuration file settings. Файл конфигурации находится в папке с исполняемым файлом приложения и имеет имя приложения с добавленным расширением config-файла.The configuration file is located in the folder with the application executable and has the name of the application with the .config file name extension added. Например, имя файла конфигурации для TraceSourceSample.exe TraceSourceSample.exe.config. Файл конфигурации можно использовать для определения места отправки данных трассировки и уровней действий, которые необходимо отслеживать.For example, the name of the configuration file for TraceSourceSample.exe is TraceSourceSample.exe.config. The configuration file can be used to determine where the trace information is to be sent and what levels of activity are to be traced. В следующем примере показано содержимое примера файла конфигурации приложения.The following example shows the contents of a sample application configuration file.

<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Класс определяется по имени источника, обычно имени приложения.The TraceSource class is identified by the name of a source, typically the name of the application. Сообщения трассировки, поступающие из определенного компонента, могут инициироваться определенным источником трассировки, что позволяет легко определять все сообщения, поступающие от этого компонента.The trace messages coming from a particular component can be initiated by a particular trace source, allowing all messages coming from that component to be easily identified.

TraceSource Определяет методы трассировки, но не предоставляет какой бы то ни было специального механизма для создания и хранения данных трассировки.TraceSource defines tracing methods but does not actually provide any specific mechanism for generating and storing tracing data. Данные трассировки создаются прослушивателями трассировки, которые представляют собой подключаемые модули, которые могут быть загружены источниками трассировки.The tracing data is produced by trace listeners, which are plug-ins that can be loaded by trace sources.

Примечание

Не следует вызывать методы трассировки во время финализации.You should not call the tracing methods during finalization. Это может привести к ObjectDisposedException возникновению исключения.Doing so can result in an ObjectDisposedException being thrown.

Можно настроить целевой объект вывода трассировки, добавив или удалив TraceListener экземпляры из коллекции, хранящейся в TraceSource.Listeners свойстве.You can customize the tracing output's target by adding or removing TraceListener instances to or from the collection stored in the TraceSource.Listeners property. По умолчанию выходные данные трассировки создаются с помощью экземпляра DefaultTraceListener класса.By default, trace output is produced using an instance of the DefaultTraceListener class. В предыдущем примере файла конфигурации показано удаление DefaultTraceListener и добавление ConsoleTraceListener для получения выходных данных трассировки для источника трассировки.The preceding configuration file example demonstrates removing the DefaultTraceListener and adding a ConsoleTraceListener to produce the trace output for the trace source. Дополнительные сведения см. в разделе < Listeners > and < шаредлистенерс > .For more information, see <listeners> and <sharedListeners>.

Примечание

Добавление прослушивателя трассировки в Listeners коллекцию может вызвать исключение во время трассировки, если ресурс, используемый прослушивателем трассировки, недоступен.Adding a trace listener to the Listeners collection can cause an exception to be thrown while tracing, if a resource used by the trace listener is not available. Условия и исключение, которые вызываются, зависят от прослушивателя трассировки и не могут быть перечислены в этом разделе.The conditions and the exception thrown depend on the trace listener and cannot be enumerated in this topic. Может оказаться полезным размещать вызовы TraceSource методов в try / catch блоках для обнаружения и обработки исключений из прослушивателей трассировки.It may be useful to place calls to the TraceSource methods in try/catch blocks to detect and handle any exceptions from trace listeners.

SourceSwitchКласс предоставляет средства для динамического управления выводом трассировки.The SourceSwitch class provides the means to dynamically control the tracing output. В предыдущем примере файла конфигурации показано, как отключить трассировку из источника трассировки и управлять уровнем, на котором происходит трассировка.The preceding configuration file example shows how you can turn off tracing from a trace source and control the level at which tracing occurs. Значение параметра источник можно изменить без повторной компиляции приложения.You can modify the value of the source switch without recompiling your application. Сведения об использовании файла конфигурации для установки переключателя см. в разделе Switch и инструкции. Создание, инициализация и настройка переключателей трассировки.For information on using the configuration file to set a switch, see Switch and How to: Create, Initialize and Configure Trace Switches.

Примечание

Если вы изменяете файл конфигурации во время выполнения приложения, приложение должно быть остановлено и перезапущено, либо Refresh метод должен быть вызван до вступления новых параметров в силу.If you modify a configuration file while an application is executing, the application must be stopped and restarted or the Refresh method must be called before the new settings take effect.

TraceEventTypeПеречисление используется для определения типа события сообщения трассировки.The TraceEventType enumeration is used to define the event type of the trace message. Фильтры трассировки используют TraceEventType для определения того, должен ли прослушиватель трассировки создавать сообщение трассировки.Trace filters use the TraceEventType to determine if a trace listener should produce the trace message.

Прослушиватели трассировки могут дополнительно иметь дополнительный уровень фильтрации с помощью фильтра трассировки.The trace listeners can optionally have an additional layer of filtering through a trace filter. Если прослушиватель трассировки имеет связанный фильтр, прослушиватель вызывает ShouldTrace метод для этого фильтра, чтобы определить, следует ли создавать данные трассировки.If a trace listener has an associated filter, the listener calls the ShouldTrace method on that filter to determine whether or not to produce the trace information.

Прослушиватели трассировки используют значения Trace свойств класса Indent , IndentSize и AutoFlush для форматирования выходных данных трассировки.The trace listeners use the values of the Trace class properties Indent, IndentSize, and AutoFlush to format trace output. Атрибуты файла конфигурации можно использовать для задания Indent IndentSize свойств, и AutoFlush .You can use configuration file attributes to set the Indent, IndentSize, and AutoFlush properties. В следующем примере свойству присваивается значение AutoFlush false , а IndentSize свойству — значение 3.The following example sets the AutoFlush property to false and the IndentSize property to 3.

<configuration>  
  <system.diagnostics>  
    <trace autoflush="false" indentsize="3" />  
  </system.diagnostics>  
</configuration>  

Конструкторы

TraceSource(String)

Инициализирует новый экземпляр класса TraceSource, используя указанное имя источника.Initializes a new instance of the TraceSource class, using the specified name for the source.

TraceSource(String, SourceLevels)

Инициализирует новый экземпляр класса TraceSource, используя заданное для источника имя и уровень источника по умолчанию, при котором происходит трассировка.Initializes a new instance of the TraceSource class, using the specified name for the source and the default source level at which tracing is to occur.

Свойства

Attributes

Получает настраиваемые атрибуты переключателя, определенные в файле конфигурации приложения.Gets the custom switch attributes defined in the application configuration file.

Listeners

Получает коллекцию прослушивателей трассировки для ее источника.Gets the collection of trace listeners for the trace source.

Name

Получает имя источника трассировки.Gets the name of the trace source.

Switch

Получает или задает значение переключателя источника.Gets or sets the source switch value.

Методы

Close()

Закрывает все прослушиватели трассировки в коллекции таких прослушивателей.Closes all the trace listeners in the trace listener collection.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
Flush()

Записывает все прослушиватели трассировки в коллекции таких прослушивателей.Flushes all the trace listeners in the trace listener collection.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetSupportedAttributes()

Получает настраиваемые атрибуты, поддерживаемые источником трассировки.Gets the custom attributes supported by the trace source.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
TraceData(TraceEventType, Int32, Object)

Записывает данные трассировки в прослушиватели трассировки коллекции Listeners, используя для этого указанный тип и идентификатор события, а также данные трассировки.Writes trace data to the trace listeners in the Listeners collection using the specified event type, event identifier, and trace data.

TraceData(TraceEventType, Int32, Object[])

Записывает данные трассировки в прослушиватели трассировки коллекции Listeners, используя для этого указанный тип и идентификатор события, а также данные трассировки.Writes trace data to the trace listeners in the Listeners collection using the specified event type, event identifier, and trace data array.

TraceEvent(TraceEventType, Int32)

Записывает сообщение о событии трассировки в прослушиватели трассировки коллекции Listeners, используя для этого указанный тип и идентификатор события.Writes a trace event message to the trace listeners in the Listeners collection using the specified event type and event identifier.

TraceEvent(TraceEventType, Int32, String)

Записывает сообщение о событии трассировки в прослушиватели трассировки коллекции Listeners, используя для этого указанный тип и идентификатор события, а также сообщение.Writes a trace event message to the trace listeners in the Listeners collection using the specified event type, event identifier, and message.

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

Записывает сообщение о событии трассировки в прослушиватели трассировки коллекции Listeners, используя для этого указанный тип и идентификатор события, а также массив аргументов и формат.Writes a trace event to the trace listeners in the Listeners collection using the specified event type, event identifier, and argument array and format.

TraceInformation(String)

Записывает информационное сообщение в прослушиватели трассировки коллекции Listeners, используя для этого указанное сообщение.Writes an informational message to the trace listeners in the Listeners collection using the specified message.

TraceInformation(String, Object[])

Записывает информационное сообщение в прослушиватели трассировки коллекции Listeners, используя для этого указанный массив объектов и сведения о форматировании.Writes an informational message to the trace listeners in the Listeners collection using the specified object array and formatting information.

TraceTransfer(Int32, String, Guid)

Записывает сообщение о перемещении трассировки в прослушиватели трассировки коллекции Listeners, используя для этого указанный числовой идентификатор, сообщение, а также идентификатор сопутствующего действия.Writes a trace transfer message to the trace listeners in the Listeners collection using the specified numeric identifier, message, and related activity identifier.

Применяется к

Потокобезопасность

Данный тип потокобезопасен.This type is thread safe.

См. также раздел