TraceSwitch Klasa
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia wielopoziomowy przełącznik do sterowania śledzeniem i debugowania danych wyjściowych bez ponownego kompilowania kodu.
public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
inherit Switch
Public Class TraceSwitch
Inherits Switch
- Dziedziczenie
Poniższy przykład kodu tworzy nowy TraceSwitch i używa przełącznika w celu określenia, czy wyświetlać komunikaty o błędach. Przełącznik jest tworzony na poziomie klasy.
MyMethod
zapisuje pierwszy komunikat o błędzie, jeśli właściwość jest ustawiona na TraceLevel.Error lub nowsząLevel. Nie zapisuje jednak drugiego komunikatu o błędzie, MyMethod
jeśli wartość Level jest mniejsza niż 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
Możesz użyć przełącznika śledzenia, aby odfiltrować komunikaty na podstawie ich znaczenia. Klasa TraceSwitch udostępnia TraceErrorwłaściwości , TraceWarning, TraceInfoi TraceVerbose do testowania poziomu przełącznika. Właściwość Level pobiera lub ustawia przełącznik .TraceLevel
Możesz utworzyć element TraceSwitch w kodzie i ustawić poziom bezpośrednio w celu instrumentowania określonej sekcji kodu.
Tylko w .NET Framework aplikacji można ustawić poziom TraceSwitch za pośrednictwem pliku konfiguracji aplikacji, a następnie użyć skonfigurowanego TraceSwitch poziomu w aplikacji. W pliku konfiguracji aplikacji można dodać lub usunąć przełącznik, ustawić wartość przełącznika lub wyczyścić wszystkie przełączniki ustawione wcześniej przez aplikację. Plik konfiguracji powinien być sformatowany w następujący przykład:
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1" />
</switches>
</system.diagnostics>
</configuration>
Ta sekcja konfiguracji definiuje TraceSwitch element z ustawioną DisplayName wartością mySwitch
i Level ustawioną na 1, która odpowiada wartości TraceLevel.Errorwyliczenia .
Uwaga
Możesz również użyć tekstu, aby określić wartość przełącznika. Na przykład true
dla BooleanSwitchelementu lub tekstu reprezentującego wartość wyliczenia, na przykład Error
dla elementu TraceSwitch. Linia <add name="mySwitch" value="Error" />
jest równoważna .<add name="mySwitch" value="1" />
W aplikacji można użyć skonfigurowanego poziomu przełącznika, tworząc element TraceSwitch o takiej samej nazwie, jak pokazano w poniższym przykładzie:
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
W aplikacjach Level .NET Core i .NET 5+ nowe ustawienia domyślne przełącznika to TraceLevel.Off.
W aplikacjach .NET Framework właściwość switch Level jest domyślnie ustawiona na wartość określoną w pliku konfiguracji. TraceSwitch Jeśli konstruktor nie może odnaleźć ustawień przełącznika początkowego w pliku konfiguracji, Level nowe ustawienia domyślne przełącznika to TraceLevel.Off.
Aby użyć przełącznika, musisz włączyć śledzenie lub debugowanie. Następująca składnia jest specyficzna dla kompilatora. Jeśli używasz kompilatorów innych niż C# lub Visual Basic, zapoznaj się z dokumentacją kompilatora.
Aby włączyć debugowanie w języku C#, dodaj flagę
/d:DEBUG
do wiersza polecenia kompilatora podczas kompilowania kodu lub dodaj#define DEBUG
ją do góry pliku. W języku Visual Basic dodaj flagę/d:DEBUG=True
do wiersza polecenia kompilatora.Aby włączyć śledzenie w języku C#, dodaj flagę
/d:TRACE
do wiersza polecenia kompilatora podczas kompilowania kodu lub dodaj#define TRACE
go do góry pliku. W języku Visual Basic dodaj flagę/d:TRACE=True
do wiersza polecenia kompilatora.
Uwaga
Te przełączniki kompilatora debugowania i śledzenia nie są wymagane w przypadku korzystania z TraceSwitch klasy w izolacji. Są one wymagane tylko w połączeniu z metodami Trace lub Debug , które są kompilowane warunkowo.
Aby uzyskać więcej informacji na temat instrumentowania aplikacji, zobacz Debug i Trace. Aby uzyskać więcej informacji na temat konfigurowania przełączników śledzenia i używania ich, zobacz Trace Switchs (Przełączniki śledzenia).
Uwaga
Aby poprawić wydajność, możesz tworzyć TraceSwitch elementy członkowskie static
w klasie.
Trace |
Inicjuje TraceSwitch nowe wystąpienie klasy przy użyciu określonej nazwy wyświetlanej i opisu. |
Trace |
Inicjuje nowe wystąpienie klasy przy użyciu określonej nazwy wyświetlanej TraceSwitch , opisu i wartości domyślnej przełącznika. |
Attributes |
Pobiera atrybuty przełącznika niestandardowego zdefiniowane w pliku konfiguracji aplikacji. (Odziedziczone po Switch) |
Default |
Pobiera wartość domyślną przypisaną w konstruktorze. (Odziedziczone po Switch) |
Description |
Pobiera opis przełącznika. (Odziedziczone po Switch) |
Display |
Pobiera nazwę używaną do identyfikowania przełącznika. (Odziedziczone po Switch) |
Level |
Pobiera lub ustawia poziom śledzenia, który określa komunikaty, które zezwala przełącznik. |
Switch |
Pobiera lub ustawia bieżące ustawienie dla tego przełącznika. (Odziedziczone po Switch) |
Trace |
Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty obsługujące błędy. |
Trace |
Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty informacyjne. |
Trace |
Pobiera wartość wskazującą, czy przełącznik zezwala na wszystkie komunikaty. |
Trace |
Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty ostrzegawcze. |
Value |
Pobiera lub ustawia wartość przełącznika. (Odziedziczone po Switch) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Get |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
Get |
Pobiera atrybuty niestandardowe obsługiwane przez przełącznik. (Odziedziczone po Switch) |
Get |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
Memberwise |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
On |
Aktualizacje i poprawia poziom dla tego przełącznika. |
On |
SwitchSetting Ustawia właściwość na liczbę całkowitą równoważną Value właściwości . |
On |
Wywoływane po Value zmianie właściwości. (Odziedziczone po Switch) |
Refresh() |
Odświeża dane konfiguracji śledzenia. (Odziedziczone po Switch) |
To |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Produkt | Wersje |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: