Postupy: Vytváření, inicializace a konfigurace přepínačů trasování
Poznámka:
Tento článek je specifický pro rozhraní .NET Framework. Nevztahuje se na novější implementace .NET, včetně .NET 6 a novějších verzí.
Přepínače trasování umožňují povolit, zakázat a filtrovat výstup trasování.
Vytvoření a inicializace přepínače trasování
Abyste mohli používat přepínače trasování, musíte je nejprve vytvořit a umístit do kódu. Existují dvě předdefinované třídy, ze kterých můžete vytvářet objekty switch: System.Diagnostics.BooleanSwitch třídu a System.Diagnostics.TraceSwitch třídu. Pokud BooleanSwitch byste se starali jen o to, jestli se zobrazí zpráva trasování nebo ne, použili TraceSwitch byste, pokud chcete rozlišovat úrovně trasování. Pokud používáte TraceSwitch, můžete definovat vlastní ladicí zprávy a přidružit je k různým úrovním trasování. Oba typy přepínačů můžete použít s trasováním nebo laděním. Ve výchozím nastavení je zakázaná BooleanSwitch a TraceSwitch je nastavena na úroveň TraceLevel.Off. Přepínače trasování lze vytvořit a umístit do libovolné části kódu, která je může používat.
I když můžete nastavit úrovně trasování a další možnosti konfigurace v kódu, doporučujeme ke správě stavu přepínačů použít konfigurační soubor. Důvodem je to, že správa konfigurace přepínačů v konfiguračním systému poskytuje větší flexibilitu – můžete zapnout a vypnout různé přepínače a úrovně změn bez opětovného zkompilování aplikace.
Vytvoření a inicializace přepínače trasování
Definujte přepínač jako typ System.Diagnostics.BooleanSwitch nebo typ System.Diagnostics.TraceSwitch a nastavte název a popis přepínače.
Nakonfigurujte přepínač trasování. Další informace naleznete v tématu Konfigurace přepínačů trasování.
Následující kód vytvoří dva přepínače, jeden z každého typu:
Dim dataSwitch As New BooleanSwitch("Data", "DataAccess module") Dim generalSwitch As New TraceSwitch("General", "Entire application")
System.Diagnostics.BooleanSwitch dataSwitch = new System.Diagnostics.BooleanSwitch("Data", "DataAccess module"); System.Diagnostics.TraceSwitch generalSwitch = new System.Diagnostics.TraceSwitch("General", "Entire application");
Konfigurace přepínačů trasování
Po distribuci aplikace můžete výstup trasování povolit nebo zakázat konfigurací přepínačů trasování ve vaší aplikaci. Konfigurace přepínače znamená změnu jeho hodnoty z externího zdroje po inicializaci. Hodnoty objektů přepínače můžete změnit pomocí konfiguračního souboru. Přepínač trasování nakonfigurujete tak, aby ho zapnul a vypnul nebo nastavil jeho úroveň, a tím určíte množství a typ zpráv, které předává naslouchacím procesům.
Přepínače se konfigurují pomocí souboru .config. Pro webovou aplikaci se jedná o soubor Web.config přidružený k projektu. V aplikaci pro Windows má tento soubor název (název aplikace) .exe.config. V nasazené aplikaci musí být tento soubor umístěn ve stejné složce jako spustitelný soubor.
Když aplikace poprvé spustí kód, který vytvoří instanci přepínače, zkontroluje konfigurační soubor informace o pojmenovaném přepínači na úrovni trasování. Systém trasování zkontroluje konfigurační soubor pouze jednou pro každý konkrétní přepínač – při prvním vytvoření přepínače aplikace.
V nasazené aplikaci povolíte trasovací kód tak, že překonfigurujete objekty přepínače, když aplikace není spuštěná. Obvykle se to týká zapnutí a vypnutí objektů přepínače nebo změnou úrovní trasování a následným restartováním aplikace.
Když vytvoříte instanci přepínače, inicializujete ji také zadáním dvou argumentů: argument displayName a argument popisu . Argument displayName konstruktoru nastaví Switch.DisplayName vlastnost Switch instance třídy. DisplayName je název, který se používá ke konfiguraci přepínače v souboru .config, a argument popisu by měl vrátit stručný popis přepínače a zprávy, které řídí.
Kromě zadání názvu přepínače, který chcete konfigurovat, musíte také zadat hodnotu přepínače. Tato hodnota je celé číslo. Hodnota BooleanSwitch0 odpovídá hodnotě Vypnuto a jakákoli nenulová hodnota odpovídá hodnotě Zapnuto. Pro TraceSwitch, 0,1,2,3 a 4 odpovídají Vypnuto, Chyba, Upozornění, Informace a Podrobné. Jakékoli číslo větší než 4 se považuje za podrobné a jakékoli číslo menší než nula je považováno za Vypnuto.
Poznámka:
V rozhraní .NET Framework verze 2.0 můžete pomocí textu zadat hodnotu přepínače. Například pro BooleanSwitch text nebo text představující hodnotu výčtu, true
například Error
pro .TraceSwitch Čára <add name="myTraceSwitch" value="Error" />
je ekvivalentní <add name="myTraceSwitch" value="1" />
.
Aby koncoví uživatelé mohli konfigurovat přepínače trasování aplikace, musíte poskytnout podrobnou dokumentaci k přepínačům v aplikaci. Měli byste podrobně určit, které přepínače určují, co a jak je zapnout a vypnout. Koncovému uživateli byste také měli poskytnout soubor .config, který má v komentářích odpovídající nápovědu.
Konfigurace přepínačů trasování
Abyste mohli používat přepínače trasování, musíte je nejprve vytvořit a umístit do kódu, jak je popsáno v části Vytváření a inicializace přepínače trasování.
Pokud projekt neobsahuje konfigurační soubor (app.config nebo Web.config), vyberte v nabídce Projekt možnost Přidat novou položku.
Visual Basic: V dialogovém okně Přidat novou položku zvolte Konfigurační soubor aplikace.
Konfigurační soubor aplikace se vytvoří a otevře. Toto je dokument XML, jehož kořenovým prvkem je
<configuration>.
Visual C#: V dialogovém okně Přidat novou položku zvolte Soubor XML. Pojmenujte tento soubor app.config. V editoru XML za deklaraci XML přidejte následující XML:
<configuration> </configuration>
Při kompilaci projektu se soubor app.config zkopíruje do výstupní složky projektu a přejmenuje název aplikace.exe.config.
<configuration>
Za značku, ale před</configuration>
značku, přidejte odpovídající XML pro konfiguraci přepínačů. Následující příklady ukazují BooleanSwitch s DisplayName vlastnostDataMessageSwitch
a TraceSwitch s DisplayName vlastnostTraceLevelSwitch
.<system.diagnostics> <switches> <add name="DataMessagesSwitch" value="0" /> <add name="TraceLevelSwitch" value="0" /> </switches> </system.diagnostics>
V této konfiguraci jsou oba přepínače vypnuté.
Pokud potřebujete zapnout logický přepínač, například
DataMessagesSwitch
v předchozím příkladu, změňte hodnotu na jakékoli jiné celé číslo než 0.Pokud potřebujete zapnout TraceSwitch, například
TraceLevelSwitch
v předchozím příkladu, změňte hodnotu na odpovídající nastavení úrovně (1 až 4).Přidejte do souboru .config komentáře, aby koncový uživatel jasně porozuměl hodnotám, které se mají změnit, aby přepínače správně nakonfiguroval.
Následující příklad ukazuje, jak může vypadat konečný kód včetně komentářů:
<system.diagnostics> <switches> <!-- This switch controls data messages. In order to receive data trace messages, change value="0" to value="1" --> <add name="DataMessagesSwitch" value="0" /> <!-- This switch controls general messages. In order to receive general trace messages change the value to the appropriate level. "1" gives error messages, "2" gives errors and warnings, "3" gives more detailed error information, and "4" gives verbose trace information --> <add name="TraceLevelSwitch" value="0" /> </switches> </system.diagnostics>