TraceSwitch Osztály

Definíció

Egy többszintű kapcsolóval lehetővé teszi a nyomkövetési és hibakeresési kimenet vezérlését a kód újrafordítása nélkül.

public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
    inherit Switch
Public Class TraceSwitch
Inherits Switch
Öröklődés
TraceSwitch

Példák

Az alábbi példakód egy újat TraceSwitch hoz létre, és a kapcsolóval határozza meg, hogy nyomtatni szeretné-e a hibaüzeneteket. A kapcsoló az osztály szintjén jön létre. MyMethod Az első hibaüzenetet írja, ha a Level tulajdonság értéke TraceLevel.Error vagy magasabb. Azonban nem írja meg a második hibaüzenetet, MyMethod ha az Level kisebb, mint TraceLevel.Verbose.

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

Megjegyzések

A nyomkövetési kapcsolóval a fontosságuk alapján szűrheti ki az üzeneteket. Az TraceSwitch osztály a kapcsoló szintjének teszteléséhez biztosítja a TraceError, TraceWarning, TraceInfoés TraceVerbose tulajdonságokat. A Level tulajdonság lekéri vagy beállítja a kapcsolót TraceLevel.

Létrehozhat egy TraceSwitch kódot, és beállíthatja a szintet közvetlenül a kód egy adott szakaszának eszközére.

Csak .NET Framework-alkalmazásokban az alkalmazáskonfigurációs fájlon keresztül is beállíthatja a TraceSwitch szintjét, majd használhatja a konfigurált TraceSwitch szintet az alkalmazásban. Az alkalmazáskonfigurációs fájlban hozzáadhat vagy eltávolíthat egy kapcsolót, beállíthatja a kapcsoló értékét, vagy törölheti az alkalmazás által korábban beállított összes kapcsolót. A konfigurációs fájlt a következő példához hasonlóan kell formázni:

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

Ez a TraceSwitch konfigurációs szakasz az DisplayName enumerálási értéknek mySwitchmegfelelő 1 értékű halmazt LevelTraceLevel.Error definiálja.

Note

A kapcsoló értékét szöveg használatával is megadhatja. Például true egy BooleanSwitch, vagy az enumerálási értéket képviselő szöveghez, például Error egy TraceSwitch. A sor <add name="mySwitch" value="Error" /> egyenértékű <add name="mySwitch" value="1" /> értékkel.

Az alkalmazásban a konfigurált kapcsolószintet úgy használhatja, hogy létrehoz egy TraceSwitch azonos nevű kapcsolót, ahogyan az alábbi példában látható:

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

Az .NET Core és .NET 5+-os alkalmazásokban az új kapcsoló Level alapértelmezett értéke TraceLevel.Off.

A .NET Framework-alkalmazásokban a Level tulajdonság kapcsolója alapértelmezés szerint a konfigurációs fájlban megadott értékre vált. Ha a TraceSwitch konstruktor nem találja a kezdeti kapcsolóbeállításokat a konfigurációs fájlban, Level az új kapcsoló alapértelmezés szerint a következőre TraceLevel.Offvált.

A kapcsoló használatához engedélyeznie kell a nyomkövetést vagy a hibakeresést. Az alábbi szintaxis fordítóspecifikus. Ha nem C# vagy Visual Basic fordítót használ, tekintse meg a fordító dokumentációját.

  • Ha engedélyezni szeretné a hibakeresést a C#-ban, vegye fel a /d:DEBUG jelölőt a fordító parancssorba a kód lefordításakor, vagy vegye fel #define DEBUG a fájl tetejére. A Visual Basic adja hozzá a /d:DEBUG=True jelzőt a fordító parancssorához.

  • Ha c#-ban szeretné engedélyezni a nyomkövetést, adja hozzá a /d:TRACE jelölőt a fordító parancssorához a kód lefordításakor, vagy vegye fel #define TRACE a fájl tetejére. A Visual Basic adja hozzá a /d:TRACE=True jelzőt a fordító parancssorához.

Note

Ezek a hibakeresési és nyomkövetési fordítókapcsolók nem szükségesek az TraceSwitch osztály elkülönítésben való használatakor. Ezek csak a feltételesen összeállított metódusokkal TraceDebug együtt szükségesek.

További információ az alkalmazás rendszerezéséről: és DebugTrace. A nyomkövetési kapcsolók konfigurálásáról és használatáról további információt a Nyomkövetési kapcsolók című témakörben talál.

Note

A teljesítmény javítása érdekében tagokat TraceSwitch állíthat static be az osztályba.

Konstruktorok

Name Description
TraceSwitch(String, String, String)

Inicializálja az osztály új példányát a TraceSwitch kapcsoló megadott megjelenítendő nevével, leírásával és alapértelmezett értékével.

TraceSwitch(String, String)

Inicializálja az osztály új példányát TraceSwitch a megadott megjelenítendő név és leírás használatával.

Tulajdonságok

Name Description
Attributes

Lekéri az alkalmazáskonfigurációs fájlban definiált egyéni kapcsolóattribútumokat.

(Öröklődés forrása Switch)
DefaultValue

Lekéri a konstruktor alapértelmezett értékét.

(Öröklődés forrása Switch)
Description

Lekéri a kapcsoló leírását.

(Öröklődés forrása Switch)
DisplayName

Lekéri a kapcsoló azonosításához használt nevet.

(Öröklődés forrása Switch)
Level

Lekéri vagy beállítja a nyomkövetési szintet, amely meghatározza, hogy a kapcsoló milyen üzeneteket engedélyez.

SwitchSetting

Lekéri vagy beállítja a kapcsoló aktuális beállítását.

(Öröklődés forrása Switch)
TraceError

Egy értéket kap, amely jelzi, hogy a kapcsoló engedélyezi-e a hibakezelési üzeneteket.

TraceInfo

Egy értéket kap, amely jelzi, hogy a kapcsoló engedélyezi-e az információs üzeneteket.

TraceVerbose

Egy értéket kap, amely jelzi, hogy a kapcsoló engedélyezi-e az összes üzenetet.

TraceWarning

Egy értéket kap, amely jelzi, hogy a kapcsoló engedélyezi-e a figyelmeztető üzeneteket.

Value

Lekéri vagy beállítja a kapcsoló értékét.

(Öröklődés forrása Switch)

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetSupportedAttributes()

Lekéri a kapcsoló által támogatott egyéni attribútumokat.

(Öröklődés forrása Switch)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnSwitchSettingChanged()

Frissíti és javítja a kapcsoló szintjét.

OnValueChanged()

A tulajdonságot a SwitchSetting tulajdonság egész számának megfelelő értékre állítja Value .

Refresh()

Frissíti a nyomkövetési konfiguráció adatait.

(Öröklődés forrása Switch)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még