TraceSwitch Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt een schakeloptie met meerdere niveaus om tracering en foutopsporingsuitvoer te beheren zonder uw code opnieuw te compileren.
public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
inherit Switch
Public Class TraceSwitch
Inherits Switch
- Overname
Voorbeelden
In het volgende codevoorbeeld wordt een nieuwe TraceSwitch gemaakt en wordt de schakeloptie gebruikt om te bepalen of foutberichten moeten worden afgedrukt. De switch wordt gemaakt op klasseniveau.
MyMethod schrijft het eerste foutbericht als de Level eigenschap is ingesteld op TraceLevel.Error of hoger.
MyMethod Schrijft echter niet het tweede foutbericht als de Level waarde kleiner is dan 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
Opmerkingen
U kunt een traceringsschakelaar gebruiken om berichten te filteren op basis van hun urgentie. De TraceSwitch klasse biedt de TraceErroreigenschappen , TraceWarningen TraceInfoTraceVerbose eigenschappen om het niveau van de switch te testen. De Level eigenschap haalt of stelt de schakeloptie TraceLevelin.
U kunt een TraceSwitch in uw code maken en het niveau rechtstreeks instellen om een specifiek codegedeelte te instrumenteren.
In .NET Framework-apps kunt u ook het niveau van een TraceSwitch instellen via het toepassingsconfiguratiebestand en vervolgens het geconfigureerde niveau TraceSwitch in uw toepassing gebruiken. In het configuratiebestand van de toepassing kunt u een switch toevoegen of verwijderen, de waarde van een switch instellen of alle switches wissen die eerder door de toepassing zijn ingesteld. Het configuratiebestand moet worden opgemaakt zoals in het volgende voorbeeld:
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1" />
</switches>
</system.diagnostics>
</configuration>
Deze configuratiesectie definieert een met de DisplayName set op mySwitchen de Level set op 1, die overeenkomt met de opsommingswaardeTraceLevel.Error.TraceSwitch
Note
U kunt ook tekst gebruiken om de waarde voor een schakeloptie op te geven. Bijvoorbeeld true voor een BooleanSwitch, of de tekst die een opsommingswaarde vertegenwoordigt, zoals Error voor een TraceSwitch. De regel <add name="mySwitch" value="Error" /> is gelijk aan <add name="mySwitch" value="1" />.
In uw toepassing kunt u het geconfigureerde switchniveau gebruiken door een TraceSwitch met dezelfde naam te maken, zoals wordt weergegeven in het volgende voorbeeld:
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
In .NET Core- en .NET 5+-apps wordt de Level van de nieuwe switch standaard ingesteld op TraceLevel.Off.
In .NET Framework-apps wordt de standaardwaarde van de eigenschap Level ingesteld op de waarde die is opgegeven in het configuratiebestand. Als de constructor de TraceSwitch eerste switchinstellingen in het configuratiebestand niet kan vinden, Level wordt de nieuwe switch standaard ingesteld op TraceLevel.Off.
U moet tracering of foutopsporing inschakelen om een switch te kunnen gebruiken. De volgende syntaxis is specifiek voor compileren. Als u andere compilers dan C# of Visual Basic gebruikt, raadpleegt u de documentatie voor uw compiler.
Als u foutopsporing in C# wilt inschakelen, voegt u de
/d:DEBUGvlag toe aan de opdrachtregel van de compiler wanneer u uw code compileert of voegt u deze toe#define DEBUGaan het begin van het bestand. Voeg in Visual Basic de vlag/d:DEBUG=Truetoe aan de opdrachtregel van de compiler.Als u tracering in C# wilt inschakelen, voegt u de
/d:TRACEvlag toe aan de opdrachtregel van de compiler wanneer u uw code compileert of voegt u deze toe#define TRACEaan het begin van het bestand. Voeg in Visual Basic de vlag/d:TRACE=Truetoe aan de opdrachtregel van de compiler.
Note
Deze foutopsporings- en traceringscompilerswitches zijn niet vereist wanneer de TraceSwitch klasse geïsoleerd wordt gebruikt. Ze zijn alleen vereist in combinatie met Trace of Debug methoden die voorwaardelijk zijn gecompileerd.
Zie en Tracevoor meer informatie over het instrumenteren van uw toepassingDebug. Zie Trace Switches voor meer informatie over het configureren en gebruiken van traceringsswitches.
Note
Om de prestaties te verbeteren, kunt u leden static in uw klas makenTraceSwitch.
Constructors
| Name | Description |
|---|---|
| TraceSwitch(String, String, String) |
Initialiseert een nieuw exemplaar van de TraceSwitch klasse met behulp van de opgegeven weergavenaam, beschrijving en standaardwaarde voor de schakeloptie. |
| TraceSwitch(String, String) |
Initialiseert een nieuw exemplaar van de TraceSwitch klasse met behulp van de opgegeven weergavenaam en beschrijving. |
Eigenschappen
| Name | Description |
|---|---|
| Attributes |
Hiermee haalt u de aangepaste switchkenmerken op die zijn gedefinieerd in het configuratiebestand van de toepassing. (Overgenomen van Switch) |
| Description |
Hiermee wordt een beschrijving van de schakelaar opgegeven. (Overgenomen van Switch) |
| DisplayName |
Hiermee haalt u een naam op die wordt gebruikt om de switch te identificeren. (Overgenomen van Switch) |
| Level |
Hiermee haalt u het traceringsniveau op dat bepaalt welke berichten de switch toestaat. |
| SwitchSetting |
Hiermee haalt u de huidige instelling voor deze switch op of stelt u deze in. (Overgenomen van Switch) |
| TraceError |
Hiermee wordt een waarde opgehaald die aangeeft of de switch foutafhandelingsberichten toestaat. |
| TraceInfo |
Hiermee wordt een waarde opgehaald die aangeeft of de schakeloptie informatieve berichten toestaat. |
| TraceVerbose |
Hiermee wordt een waarde opgehaald die aangeeft of de schakeloptie alle berichten toestaat. |
| TraceWarning |
Hiermee wordt een waarde opgehaald die aangeeft of de schakeloptie waarschuwingsberichten toestaat. |
| Value |
Hiermee haalt u de waarde van de switch op of stelt u deze in. (Overgenomen van Switch) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetSupportedAttributes() |
Hiermee haalt u de aangepaste kenmerken op die door de switch worden ondersteund. (Overgenomen van Switch) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnSwitchSettingChanged() |
Hiermee wordt het niveau voor deze switch bijgewerkt en gecorrigeerd. |
| OnValueChanged() |
Hiermee stelt u de SwitchSetting eigenschap in op het equivalent van het gehele getal van de Value eigenschap. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |