TraceSwitch Třída

Definice

Poskytuje víceúrovňový přepínač pro řízení trasování a ladění výstupu bez rekompilování 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 Level nastavena na TraceLevel.Error nebo vyšší. MyMethod však nezapisuje druhou chybovou zprávu, pokud je Level 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 filtrování zpráv na základě jejich důležitosti můžete použít přepínač trasování. Třída TraceSwitch poskytuje vlastnosti TraceError, TraceWarning, TraceInfoa TraceVerbose pro otestování úrovně přepínače. Vlastnost Level získá nebo nastaví TraceLevelpřepínače .

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

V aplikacích .NET Framework můžete také nastavit úroveň TraceSwitch prostřednictvím konfiguračního souboru aplikace a pak použít nakonfigurovanou úroveň TraceSwitch 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, které aplikace dříve nastavil. 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>  

Tato část konfigurace definuje TraceSwitch s DisplayName nastaveným na mySwitcha Level nastavenou na hodnotu 1, která odpovídá hodnotě výčtu TraceLevel.Error.

Poznámka

Můžete také použít text k určení hodnoty přepínače. Například true pro BooleanSwitchnebo text představující hodnotu výčtu, například Error pro TraceSwitch. <add name="mySwitch" value="Error" /> řádku odpovídá <add name="mySwitch" value="1" />.

V aplikaci můžete použít nakonfigurovanou úroveň přepínače tak, že vytvoříte TraceSwitch 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 .NET Core a .NET 5+ se Level nového přepínače standardně TraceLevel.Off.

V aplikacích .NET Framework se vlastnost switch Level ve výchozím nastavení nastaví na hodnotu zadanou v konfiguračním souboru. Pokud konstruktor TraceSwitch nemůže v konfiguračním souboru najít počáteční nastavení přepínače, Level nového přepínače se ve výchozím nastavení 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, projděte si dokumentaci pro váš kompilátor.

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

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

Poznámka

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

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

Poznámka

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

Konstruktory

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.

TraceSwitch(String, String)

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

Vlastnosti

Attributes

Získá vlastní přepínače atributy 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 použitý k identifikaci přepínače.

(Zděděno od Switch)
Level

Získá nebo nastaví úroveň trasování, která určuje zprávy, které 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 zprávy zpracování chyb.

TraceInfo

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

TraceVerbose

Získá hodnotu urč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 upozorňující zprávy.

Value

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

(Zděděno od Switch)

Metody

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

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

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

Získá Type aktuální instance.

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

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

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

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

OnValueChanged()

Nastaví vlastnost SwitchSetting na celočíselnou ekvivalent Value vlastnost.

OnValueChanged()

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

(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é