TraceSwitch Klasa

Definicja

Udostępnia wielopoziomowy przełącznik do sterowania śledzeniem i debugowania danych wyjściowych bez ponownego kompilowania kodu.

public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
    inherit Switch
Public Class TraceSwitch
Inherits Switch
Dziedziczenie
TraceSwitch

Przykłady

Poniższy przykład kodu tworzy nowy TraceSwitch i używa przełącznika w celu określenia, czy wyświetlać komunikaty o błędach. Przełącznik jest tworzony na poziomie klasy. MyMethodzapisuje pierwszy komunikat o błędzie, jeśli właściwość jest ustawiona na TraceLevel.Error lub nowsząLevel. Nie zapisuje jednak drugiego komunikatu o błędzie, MyMethod jeśli wartość Level jest mniejsza niż TraceLevel.Verbose.

   // Class-level declaration.
   /* Create a TraceSwitch to use in the entire application.*/
private:
   static TraceSwitch^ mySwitch = gcnew TraceSwitch( "General", "Entire Application" );

public:
   static void MyMethod()
   {
      // Write the message if the TraceSwitch level is set to Error or higher.
      if ( mySwitch->TraceError )
         Console::WriteLine( "My error message." );
      
      // Write the message if the TraceSwitch level is set to Verbose.
      if ( mySwitch->TraceVerbose )
         Console::WriteLine( "My second error message." );
   }

   static void main()
   {
      // Run the method that prints error messages based on the switch level.
      MyMethod();
   }
//Class-level declaration.
/* Create a TraceSwitch to use in the entire application.*/
static TraceSwitch mySwitch = new TraceSwitch("General", "Entire Application");

static public void MyMethod()
{
    // Write the message if the TraceSwitch level is set to Error or higher.
    if (mySwitch.TraceError)
        Console.WriteLine("My error message.");

    // Write the message if the TraceSwitch level is set to Verbose.
    if (mySwitch.TraceVerbose)
        Console.WriteLine("My second error message.");
}

public static void Main(string[] args)
{
    // Run the method that prints error messages based on the switch level.
    MyMethod();
}
' Class-level declaration.
' Create a TraceSwitch to use in the entire application. 
Private Shared mySwitch As New TraceSwitch("General", "Entire Application")    

Public Shared Sub MyMethod()
    ' Write the message if the TraceSwitch level is set to Error or higher.
    If mySwitch.TraceError Then
        Console.WriteLine("My error message.")
    End If 
    ' Write the message if the TraceSwitch level is set to Verbose.
    If mySwitch.TraceVerbose Then
        Console.WriteLine("My second error message.")
    End If
End Sub

Public Shared Sub Main()
    ' Run the method that prints error messages based on the switch level.
    MyMethod()
End Sub

Uwagi

Możesz użyć przełącznika śledzenia, aby odfiltrować komunikaty na podstawie ich znaczenia. Klasa TraceSwitch udostępnia TraceErrorwłaściwości , TraceWarning, TraceInfoi TraceVerbose do testowania poziomu przełącznika. Właściwość Level pobiera lub ustawia przełącznik .TraceLevel

Możesz utworzyć element TraceSwitch w kodzie i ustawić poziom bezpośrednio w celu instrumentowania określonej sekcji kodu.

Tylko w .NET Framework aplikacji można ustawić poziom TraceSwitch za pośrednictwem pliku konfiguracji aplikacji, a następnie użyć skonfigurowanego TraceSwitch poziomu w aplikacji. W pliku konfiguracji aplikacji można dodać lub usunąć przełącznik, ustawić wartość przełącznika lub wyczyścić wszystkie przełączniki ustawione wcześniej przez aplikację. Plik konfiguracji powinien być sformatowany w następujący przykład:

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="1" />  
    </switches>  
  </system.diagnostics>  
</configuration>  

Ta sekcja konfiguracji definiuje TraceSwitch element z ustawioną DisplayName wartością mySwitchi Level ustawioną na 1, która odpowiada wartości TraceLevel.Errorwyliczenia .

Uwaga

Możesz również użyć tekstu, aby określić wartość przełącznika. Na przykład true dla BooleanSwitchelementu lub tekstu reprezentującego wartość wyliczenia, na przykład Error dla elementu TraceSwitch. Linia <add name="mySwitch" value="Error" /> jest równoważna .<add name="mySwitch" value="1" />

W aplikacji można użyć skonfigurowanego poziomu przełącznika, tworząc element TraceSwitch o takiej samej nazwie, jak pokazano w poniższym przykładzie:

private:
    static TraceSwitch^ appSwitch = gcnew TraceSwitch("mySwitch",
        "Switch in config file");

public:
    static void Main(array<String^>^ args)
    {
        //...
        Console::WriteLine("Trace switch {0} configured as {1}",
        appSwitch->DisplayName, appSwitch->Level.ToString());
        if (appSwitch->TraceError)
        {
            //...
        }
    }
private static TraceSwitch appSwitch = new TraceSwitch("mySwitch",
    "Switch in config file");

public static void Main(string[] args)
{
    //...
    Console.WriteLine("Trace switch {0} configured as {1}",
    appSwitch.DisplayName, appSwitch.Level.ToString());
    if (appSwitch.TraceError)
    {
        //...
    }
}
Private Shared appSwitch As new TraceSwitch("mySwitch", _
    "Switch in config file")

Public Shared Sub Main(args As String())
    '...
    Console.WriteLine("Trace switch {0} configured as {1}",
    appSwitch.DisplayName, appSwitch.Level.ToString())
    If appSwitch.TraceError = True  Then
        '...
    End If
End Sub

W aplikacjach Level .NET Core i .NET 5+ nowe ustawienia domyślne przełącznika to TraceLevel.Off.

W aplikacjach .NET Framework właściwość switch Level jest domyślnie ustawiona na wartość określoną w pliku konfiguracji. TraceSwitch Jeśli konstruktor nie może odnaleźć ustawień przełącznika początkowego w pliku konfiguracji, Level nowe ustawienia domyślne przełącznika to TraceLevel.Off.

Aby użyć przełącznika, musisz włączyć śledzenie lub debugowanie. Następująca składnia jest specyficzna dla kompilatora. Jeśli używasz kompilatorów innych niż C# lub Visual Basic, zapoznaj się z dokumentacją kompilatora.

  • Aby włączyć debugowanie w języku C#, dodaj flagę /d:DEBUG do wiersza polecenia kompilatora podczas kompilowania kodu lub dodaj #define DEBUG ją do góry pliku. W języku Visual Basic dodaj flagę /d:DEBUG=True do wiersza polecenia kompilatora.

  • Aby włączyć śledzenie w języku C#, dodaj flagę /d:TRACE do wiersza polecenia kompilatora podczas kompilowania kodu lub dodaj #define TRACE go do góry pliku. W języku Visual Basic dodaj flagę /d:TRACE=True do wiersza polecenia kompilatora.

Uwaga

Te przełączniki kompilatora debugowania i śledzenia nie są wymagane w przypadku korzystania z TraceSwitch klasy w izolacji. Są one wymagane tylko w połączeniu z metodami Trace lub Debug , które są kompilowane warunkowo.

Aby uzyskać więcej informacji na temat instrumentowania aplikacji, zobacz Debug i Trace. Aby uzyskać więcej informacji na temat konfigurowania przełączników śledzenia i używania ich, zobacz Trace Switchs (Przełączniki śledzenia).

Uwaga

Aby poprawić wydajność, możesz tworzyć TraceSwitch elementy członkowskie static w klasie.

Konstruktory

TraceSwitch(String, String)

Inicjuje TraceSwitch nowe wystąpienie klasy przy użyciu określonej nazwy wyświetlanej i opisu.

TraceSwitch(String, String, String)

Inicjuje nowe wystąpienie klasy przy użyciu określonej nazwy wyświetlanej TraceSwitch , opisu i wartości domyślnej przełącznika.

Właściwości

Attributes

Pobiera atrybuty przełącznika niestandardowego zdefiniowane w pliku konfiguracji aplikacji.

(Odziedziczone po Switch)
DefaultValue

Pobiera wartość domyślną przypisaną w konstruktorze.

(Odziedziczone po Switch)
Description

Pobiera opis przełącznika.

(Odziedziczone po Switch)
DisplayName

Pobiera nazwę używaną do identyfikowania przełącznika.

(Odziedziczone po Switch)
Level

Pobiera lub ustawia poziom śledzenia, który określa komunikaty, które zezwala przełącznik.

SwitchSetting

Pobiera lub ustawia bieżące ustawienie dla tego przełącznika.

(Odziedziczone po Switch)
TraceError

Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty obsługujące błędy.

TraceInfo

Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty informacyjne.

TraceVerbose

Pobiera wartość wskazującą, czy przełącznik zezwala na wszystkie komunikaty.

TraceWarning

Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty ostrzegawcze.

Value

Pobiera lub ustawia wartość przełącznika.

(Odziedziczone po Switch)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetSupportedAttributes()

Pobiera atrybuty niestandardowe obsługiwane przez przełącznik.

(Odziedziczone po Switch)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnSwitchSettingChanged()

Aktualizacje i poprawia poziom dla tego przełącznika.

OnValueChanged()

SwitchSetting Ustawia właściwość na liczbę całkowitą równoważną Value właściwości .

OnValueChanged()

Wywoływane po Value zmianie właściwości.

(Odziedziczone po Switch)
Refresh()

Odświeża dane konfiguracji śledzenia.

(Odziedziczone po Switch)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też