Sdílet prostřednictvím


TraceSwitch Třída

Definice

Poskytuje víceúrovňový přepínač pro řízení výstupu trasování a ladění bez opětovné kompilace kódu.

public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
    inherit Switch
Public Class TraceSwitch
Inherits Switch
Dědičnost
TraceSwitch

Příklady

Následující příklad kódu vytvoří nový TraceSwitch a pomocí přepínače určí, zda se mají vytisknout chybové zprávy. Přepínač se vytvoří na úrovni třídy. MyMethod zapíše první chybovou zprávu, pokud je vlastnost nastavena Level na TraceLevel.Error nebo vyšší. Nezapíše ale druhou chybovou zprávu, MyMethod pokud Level je hodnota menší než 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

Poznámky

K odfiltrování zpráv na základě jejich důležitosti můžete použít přepínač trasování. Třída TraceSwitch poskytuje TraceErrorvlastnosti , TraceWarning, TraceInfoa TraceVerbose k otestování úrovně přepínače. Vlastnost Level získá nebo nastaví přepínač TraceLevel.

V kódu můžete vytvořit TraceSwitch a nastavit úroveň přímo pro instrumentaci konkrétní části kódu.

Pouze v aplikacích .NET Framework můžete také nastavit úroveň objektu TraceSwitch prostřednictvím konfiguračního souboru aplikace a pak použít nakonfigurovanou TraceSwitch úroveň ve vaší aplikaci. V konfiguračním souboru aplikace můžete přidat nebo odebrat přepínač, nastavit hodnotu přepínače nebo vymazat všechny přepínače dříve nastavené aplikací. Konfigurační soubor by měl být formátovaný jako v následujícím příkladu:

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

Tento oddíl konfigurace definuje hodnotu TraceSwitch s DisplayName hodnotou nastavenou na mySwitcha nastavenou Level na hodnotu 1, která odpovídá hodnotě TraceLevel.Errorvýčtu .

Poznámka

K zadání hodnoty přepínače můžete použít také text. Například true pro BooleanSwitchnebo text představující hodnotu výčtuTraceSwitch, například Error pro . Řádek <add name="mySwitch" value="Error" /> je ekvivalentní k <add name="mySwitch" value="1" />.

V aplikaci můžete použít nakonfigurovanou úroveň přepínače tak, že vytvoříte TraceSwitch objekt se stejným názvem, jak je znázorněno v následujícím příkladu:

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

V aplikacích Level .NET Core a .NET 5+ se z nového přepínače nastaví výchozí hodnota na TraceLevel.Off.

V aplikacích .NET Framework se vlastnost switch Level nastaví jako výchozí na hodnotu zadanou v konfiguračním souboru. TraceSwitch Pokud konstruktor nemůže najít nastavení počátečního přepínače v konfiguračním souboru, Level u nového přepínače se výchozí hodnota nastaví na TraceLevel.Off.

Pokud chcete použít přepínač, musíte povolit trasování nebo ladění. Následující syntaxe je specifická pro kompilátor. Pokud používáte jiné kompilátory než C# nebo Visual Basic, přečtěte si dokumentaci k kompilátoru.

  • Pokud chcete povolit ladění v jazyce C#, přidejte /d:DEBUG příznak do příkazového řádku kompilátoru při kompilaci kódu nebo přidejte #define DEBUG na začátek souboru. V jazyce Visual Basic přidejte /d:DEBUG=True příznak do příkazového řádku kompilátoru.

  • Pokud chcete povolit trasování v jazyce C#, přidejte /d:TRACE příznak do příkazového řádku kompilátoru při kompilaci kódu nebo přidejte #define TRACE na začátek souboru. V jazyce Visual Basic přidejte /d:TRACE=True příznak do příkazového řádku kompilátoru.

Poznámka

Tyto přepínače kompilátoru ladění a trasování se při izolovaném TraceSwitch použití třídy nevyžadují. Jsou vyžadovány pouze ve spojení s metodami Trace nebo Debug , které jsou podmíněně zkompilovány.

Další informace o instrumentaci aplikace najdete v tématech Debug a Trace. Další informace o konfiguraci a používání přepínačů trasování najdete v tématu Přepínače trasování.

Poznámka

Pokud chcete zvýšit výkon, můžete ve třídě vytvořit TraceSwitch členy static .

Konstruktory

TraceSwitch(String, String)

Inicializuje novou instanci TraceSwitch třídy pomocí zadaného zobrazovaného názvu a popisu.

TraceSwitch(String, String, String)

Inicializuje novou instanci TraceSwitch třídy pomocí zadaného zobrazovaného názvu, popisu a výchozí hodnoty přepínače.

Vlastnosti

Attributes

Získá vlastní atributy přepínače definované v konfiguračním souboru aplikace.

(Zděděno od Switch)
DefaultValue

Získá výchozí hodnotu přiřazenou v konstruktoru.

(Zděděno od Switch)
Description

Získá popis přepínače.

(Zděděno od Switch)
DisplayName

Získá název sloužící k identifikaci přepínače.

(Zděděno od Switch)
Level

Získá nebo nastaví úroveň trasování, která určuje zprávy přepínač umožňuje.

SwitchSetting

Získá nebo nastaví aktuální nastavení pro tento přepínač.

(Zděděno od Switch)
TraceError

Získá hodnotu označující, zda přepínač umožňuje zpracování chyb zpráv.

TraceInfo

Získá hodnotu označující, zda přepínač umožňuje informační zprávy.

TraceVerbose

Získá hodnotu označující, zda přepínač umožňuje všechny zprávy.

TraceWarning

Získá hodnotu označující, zda přepínač umožňuje varovné zprávy.

Value

Získá nebo nastaví hodnotu přepínače.

(Zděděno od Switch)

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetSupportedAttributes()

Získá vlastní atributy podporované přepínačem.

(Zděděno od Switch)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnSwitchSettingChanged()

Aktualizace a opraví úroveň tohoto přepínače.

OnValueChanged()

SwitchSetting Nastaví vlastnost na celočíselný ekvivalent Value vlastnosti .

OnValueChanged()

Vyvolá se Value při změně vlastnosti.

(Zděděno od Switch)
Refresh()

Aktualizuje konfigurační data trasování.

(Zděděno od Switch)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také