TraceSwitch Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
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:DEBUGjelölőt a fordító parancssorba a kód lefordításakor, vagy vegye fel#define DEBUGa fájl tetejére. A Visual Basic adja hozzá a/d:DEBUG=Truejelzőt a fordító parancssorához.Ha c#-ban szeretné engedélyezni a nyomkövetést, adja hozzá a
/d:TRACEjelölőt a fordító parancssorához a kód lefordításakor, vagy vegye fel#define TRACEa fájl tetejére. A Visual Basic adja hozzá a/d:TRACE=Truejelző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) |