Dela via


Gör så här: Skapa, initiera och konfigurera spårningsväxlar

Kommentar

Den här artikeln är specifik för .NET Framework. Det gäller inte för nyare implementeringar av .NET, inklusive .NET 6 och senare versioner.

Med spårningsväxlar kan du aktivera, inaktivera och filtrera spårningsutdata.

Skapa och initiera en spårningsväxel

För att kunna använda spårningsväxlar måste du först skapa dem och placera dem i koden. Det finns två fördefinierade klasser som du kan skapa växelobjekt från: System.Diagnostics.BooleanSwitch klassen och System.Diagnostics.TraceSwitch klassen. Du skulle använda BooleanSwitch om du bara bryr dig om huruvida ett spårningsmeddelande visas eller inte. Du skulle använda TraceSwitch om du vill skilja mellan nivåer av spårning. Om du använder en TraceSwitchkan du definiera dina egna felsökningsmeddelanden och associera dem med olika spårningsnivåer. Du kan använda båda typerna av växlar med antingen spårning eller felsökning. Som standard är en BooleanSwitch inaktiverad och en TraceSwitch är inställd på nivå TraceLevel.Off. Spårningsväxlar kan skapas och placeras i valfri del av koden som kan använda dem.

Även om du kan ange spårningsnivåer och andra konfigurationsalternativ i kod rekommenderar vi att du använder konfigurationsfilen för att hantera tillståndet för dina växlar. Det beror på att hanteringen av konfigurationen av dina växlar i konfigurationssystemet ger dig större flexibilitet – du kan aktivera och inaktivera olika växlar och ändra nivåer utan att kompilera om programmet.

Skapa och initiera en spårningsväxel

  1. Definiera en växel som antingen typ System.Diagnostics.BooleanSwitch eller typ System.Diagnostics.TraceSwitch och ange namnet och beskrivningen av växeln.

  2. Konfigurera spårningsväxeln. Mer information finns i Konfigurera spårningsväxlar.

    Följande kod skapar två växlar, en av varje typ:

    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");
    

Konfigurera spårningsväxlar

När programmet har distribuerats kan du fortfarande aktivera eller inaktivera spårningsutdata genom att konfigurera spårningsväxlarna i ditt program. Att konfigurera en växel innebär att ändra dess värde från en extern källa när den har initierats. Du kan ändra värdena för växelobjekten med hjälp av konfigurationsfilen. Du konfigurerar en spårningsväxel för att aktivera och inaktivera den, eller för att ange dess nivå och bestämma hur mycket och vilken typ av meddelanden den skickar till lyssnarna.

Dina växlar konfigureras med hjälp av .config-filen. För ett webbprogram är det här filen Web.config som är associerad med projektet. I ett Windows-program heter den här filen (programnamn).exe.config. I ett distribuerat program måste den här filen finnas i samma mapp som den körbara filen.

När programmet kör koden som skapar en instans av en växel för första gången, kontrollerar det konfigurationsfilen efter information på spårningsnivå om den namngivna växeln. Spårningssystemet undersöker bara konfigurationsfilen en gång för en viss växel – första gången programmet skapar växeln.

I ett distribuerat program aktiverar du spårningskod genom att konfigurera om växelobjekt när programmet inte körs. Detta innebär vanligtvis att aktivera och inaktivera växelobjekten eller genom att ändra spårningsnivåerna och sedan starta om programmet.

När du skapar en instans av en växel initierar du den också genom att ange två argument: ett displayName-argument och ett beskrivningsargument . Argumentet displayName för konstruktorn anger Switch.DisplayName egenskapen för klassinstansen Switch . DisplayName är det namn som används för att konfigurera växeln i .config-filen, och beskrivningsargumentetska returnera en kort beskrivning av växeln och vilka meddelanden den styr.

Förutom att ange namnet på en växel som ska konfigureras måste du även ange ett värde för växeln. Det här värdet är ett heltal. För BooleanSwitchmotsvarar värdet 0 Av och alla icke-zero-värden motsvarar . För TraceSwitchmotsvarar 0,1,2,3 och 4 Av, Fel, Varning, Information respektive Utförligt. Ett tal som är större än 4 behandlas som Utförligt och ett tal som är mindre än noll behandlas som Av.

Kommentar

I .NET Framework version 2.0 kan du använda text för att ange värdet för en växel. Till exempel true för en BooleanSwitch eller texten som representerar ett uppräkningsvärde, till exempel Error för en TraceSwitch. Raden <add name="myTraceSwitch" value="Error" /> motsvarar <add name="myTraceSwitch" value="1" />.

För att slutanvändarna ska kunna konfigurera ett programs spårningsväxlar måste du ange detaljerad dokumentation om switcharna i ditt program. Du bör ange vilka växlar som styr vad och hur de ska aktiveras och inaktiveras. Du bör också ge slutanvändaren en .config-fil som har lämplig hjälp i kommentarerna.

Så här konfigurerar du spårningsväxlar

  1. För att kunna använda spårningsväxlar måste du först skapa dem och placera dem i koden enligt beskrivningen i avsnittet Skapa och initiera en spårningsväxel.

  2. Om projektet inte innehåller någon konfigurationsfil (app.config eller Web.config) väljer du lägg till nytt objektProjekt-menyn.

    • Visual Basic: I dialogrutan Lägg till nytt objekt väljer du Programkonfigurationsfil.

      Programkonfigurationsfilen skapas och öppnas. Det här är ett XML-dokument vars rotelement är <configuration>.

    • Visual C#: I dialogrutan Lägg till nytt objekt väljer du XML-fil. Ge den här filen namnet app.config. Lägg till följande XML efter XML-deklarationen i XML-redigeraren:

      <configuration>
      </configuration>
      

      När projektet kompileras kopieras filen app.config till projektutdatamappen och får namnet applicationname.exe.config.

  3. Efter taggen <configuration> men före taggen </configuration> lägger du till lämplig XML för att konfigurera dina växlar. I följande exempel visas en BooleanSwitch med egenskapen DataMessageSwitchDisplayName och en TraceSwitch med egenskapen DisplayName som TraceLevelSwitch.

    <system.diagnostics>
       <switches>
          <add name="DataMessagesSwitch" value="0" />
          <add name="TraceLevelSwitch" value="0" />
       </switches>
    </system.diagnostics>
    

    I den här konfigurationen är båda växlarna avstängda.

  4. Om du behöver aktivera en BooleanSwitch, till exempel i DataMessagesSwitch föregående exempel, ändrar du Värdet till något annat heltal än 0.

  5. Om du behöver aktivera en TraceSwitch, till exempel i TraceLevelSwitch föregående exempel, ändrar du värdet till lämplig nivåinställning (1 till 4).

  6. Lägg till kommentarer i .config-filen så att slutanvändaren har en tydlig förståelse för vilka värden som ska ändras för att konfigurera växlarna på rätt sätt.

    I följande exempel visas hur den slutliga koden, inklusive kommentarer, kan se ut:

    <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>
    

Se även