TraceSwitch Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje víceúrovňový přepínač pro řízení trasování a ladění výstupu bez rekompilování kódu.
public ref class TraceSwitch : System::Diagnostics::Switch
public class TraceSwitch : System.Diagnostics.Switch
type TraceSwitch = class
inherit Switch
Public Class TraceSwitch
Inherits Switch
- Dědičnost
Příklady
Následující příklad kódu vytvoří nový TraceSwitch a pomocí přepínače určí, zda se mají vytisknout chybové zprávy. Přepínač se vytvoří na úrovni třídy.
MyMethod
zapíše první chybovou zprávu, pokud je vlastnost Level nastavena na TraceLevel.Error nebo vyšší.
MyMethod
však nezapisuje druhou chybovou zprávu, pokud je Level menší než 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
Poznámky
K filtrování zpráv na základě jejich důležitosti můžete použít přepínač trasování. Třída TraceSwitch poskytuje vlastnosti TraceError, TraceWarning, TraceInfoa TraceVerbose pro otestování úrovně přepínače. Vlastnost Level získá nebo nastaví TraceLevelpřepínače .
V kódu můžete vytvořit TraceSwitch a nastavit úroveň přímo pro instrumentaci konkrétní části kódu.
V aplikacích .NET Framework můžete také nastavit úroveň TraceSwitch prostřednictvím konfiguračního souboru aplikace a pak použít nakonfigurovanou úroveň TraceSwitch ve vaší aplikaci. V konfiguračním souboru aplikace můžete přidat nebo odebrat přepínač, nastavit hodnotu přepínače nebo vymazat všechny přepínače, které aplikace dříve nastavil. Konfigurační soubor by měl být formátovaný jako v následujícím příkladu:
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1" />
</switches>
</system.diagnostics>
</configuration>
Tato část konfigurace definuje TraceSwitch s DisplayName nastaveným na mySwitch
a Level nastavenou na hodnotu 1, která odpovídá hodnotě výčtu TraceLevel.Error.
Poznámka
Můžete také použít text k určení hodnoty přepínače. Například true
pro BooleanSwitchnebo text představující hodnotu výčtu, například Error
pro TraceSwitch.
<add name="mySwitch" value="Error" />
řádku odpovídá <add name="mySwitch" value="1" />
.
V aplikaci můžete použít nakonfigurovanou úroveň přepínače tak, že vytvoříte TraceSwitch se stejným názvem, jak je znázorněno v následujícím příkladu:
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
V aplikacích .NET Core a .NET 5+ se Level nového přepínače standardně TraceLevel.Off.
V aplikacích .NET Framework se vlastnost switch Level ve výchozím nastavení nastaví na hodnotu zadanou v konfiguračním souboru. Pokud konstruktor TraceSwitch nemůže v konfiguračním souboru najít počáteční nastavení přepínače, Level nového přepínače se ve výchozím nastavení TraceLevel.Off.
Pokud chcete použít přepínač, musíte povolit trasování nebo ladění. Následující syntaxe je specifická pro kompilátor. Pokud používáte jiné kompilátory než C# nebo Visual Basic, projděte si dokumentaci pro váš kompilátor.
Pokud chcete povolit ladění v jazyce C#, přidejte
/d:DEBUG
příznak do příkazového řádku kompilátoru, když zkompilujete kód, nebo přidejte#define DEBUG
na začátek souboru. V jazyce Visual Basic přidejte příznak/d:DEBUG=True
do příkazového řádku kompilátoru.Pokud chcete povolit trasování v jazyce C#, přidejte při kompilaci kódu příznak
/d:TRACE
do příkazového řádku kompilátoru nebo přidejte#define TRACE
na začátek souboru. V jazyce Visual Basic přidejte příznak/d:TRACE=True
do příkazového řádku kompilátoru.
Poznámka
Tyto přepínače kompilátoru ladění a trasování nejsou vyžadovány při použití třídy TraceSwitch izolovaně. Jsou vyžadovány pouze ve spojení s Trace nebo Debug metodami, které jsou podmíněně kompilovány.
Další informace o instrumentaci aplikace naleznete v tématu Debug a Trace. Další informace o konfiguraci a použití přepínačů trasování naleznete v tématu přepínače trasování.
Poznámka
Pokud chcete zvýšit výkon, můžete TraceSwitch členy static
ve třídě.
Konstruktory
TraceSwitch(String, String, String) |
Inicializuje novou instanci TraceSwitch třídy pomocí zadaného zobrazovaného názvu, popisu a výchozí hodnoty přepínače. |
TraceSwitch(String, String) |
Inicializuje novou instanci TraceSwitch třídy pomocí zadaného zobrazovaného názvu a popisu. |
Vlastnosti
Attributes |
Získá vlastní přepínače atributy definované v konfiguračním souboru aplikace. (Zděděno od Switch) |
DefaultValue |
Získá výchozí hodnotu přiřazenou v konstruktoru. (Zděděno od Switch) |
Description |
Získá popis přepínače. (Zděděno od Switch) |
DisplayName |
Získá název použitý k identifikaci přepínače. (Zděděno od Switch) |
Level |
Získá nebo nastaví úroveň trasování, která určuje zprávy, které přepínač umožňuje. |
SwitchSetting |
Získá nebo nastaví aktuální nastavení pro tento přepínač. (Zděděno od Switch) |
TraceError |
Získá hodnotu označující, zda přepínač umožňuje zprávy zpracování chyb. |
TraceInfo |
Získá hodnotu označující, zda přepínač umožňuje informační zprávy. |
TraceVerbose |
Získá hodnotu určující, zda přepínač umožňuje všechny zprávy. |
TraceWarning |
Získá hodnotu označující, zda přepínač umožňuje upozorňující zprávy. |
Value |
Získá nebo nastaví hodnotu přepínače. (Zděděno od Switch) |
Metody
Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetSupportedAttributes() |
Získá vlastní atributy podporované přepínačem. (Zděděno od Switch) |
GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
OnSwitchSettingChanged() |
Aktualizuje a opraví úroveň tohoto přepínače. |
OnValueChanged() |
Nastaví vlastnost SwitchSetting na celočíselnou ekvivalent Value vlastnost. |
OnValueChanged() |
Vyvolána při změně vlastnosti Value. (Zděděno od Switch) |
Refresh() |
Aktualizuje konfigurační data trasování. (Zděděno od Switch) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |