TraceSwitch Klasa
Definicja
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
Przykłady
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
Uwagi
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.
Konstruktory
TraceSwitch(String, String) |
Inicjuje TraceSwitch nowe wystąpienie klasy przy użyciu określonej nazwy wyświetlanej i opisu. |
TraceSwitch(String, String, String) |
Inicjuje nowe wystąpienie klasy przy użyciu określonej nazwy wyświetlanej TraceSwitch , opisu i wartości domyślnej przełącznika. |
Właściwości
Attributes |
Pobiera atrybuty przełącznika niestandardowego zdefiniowane w pliku konfiguracji aplikacji. (Odziedziczone po Switch) |
DefaultValue |
Pobiera wartość domyślną przypisaną w konstruktorze. (Odziedziczone po Switch) |
Description |
Pobiera opis przełącznika. (Odziedziczone po Switch) |
DisplayName |
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. |
SwitchSetting |
Pobiera lub ustawia bieżące ustawienie dla tego przełącznika. (Odziedziczone po Switch) |
TraceError |
Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty obsługujące błędy. |
TraceInfo |
Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty informacyjne. |
TraceVerbose |
Pobiera wartość wskazującą, czy przełącznik zezwala na wszystkie komunikaty. |
TraceWarning |
Pobiera wartość wskazującą, czy przełącznik zezwala na komunikaty ostrzegawcze. |
Value |
Pobiera lub ustawia wartość przełącznika. (Odziedziczone po Switch) |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetSupportedAttributes() |
Pobiera atrybuty niestandardowe obsługiwane przez przełącznik. (Odziedziczone po Switch) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnSwitchSettingChanged() |
Aktualizacje i poprawia poziom dla tego przełącznika. |
OnValueChanged() |
SwitchSetting Ustawia właściwość na liczbę całkowitą równoważną Value właściwości . |
OnValueChanged() |
Wywoływane po Value zmianie właściwości. (Odziedziczone po Switch) |
Refresh() |
Odświeża dane konfiguracji śledzenia. (Odziedziczone po Switch) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |