Delen via


Procedure: Traceringsswitches maken, initialiseren en configureren

Notitie

Dit artikel is specifiek voor .NET Framework. Dit geldt niet voor nieuwere implementaties van .NET, waaronder .NET 6 en nieuwere versies.

Met traceringsswitches kunt u uitvoer van tracering inschakelen, uitschakelen en filteren.

Een traceringsswitch maken en initialiseren

Als u traceringsswitches wilt gebruiken, moet u ze eerst maken en in uw code plaatsen. Er zijn twee vooraf gedefinieerde klassen waaruit u switchobjecten kunt maken: de System.Diagnostics.BooleanSwitch klasse en de System.Diagnostics.TraceSwitch klasse. U gebruikt dit als u alleen wilt weten of er een traceringsbericht wordt weergegeven. U kunt dit gebruiken BooleanSwitchTraceSwitch als u onderscheid wilt maken tussen traceringsniveaus. Als u een TraceSwitch, kunt u uw eigen foutopsporingsberichten definiëren en deze koppelen aan verschillende traceringsniveaus. U kunt beide typen switches gebruiken met tracering of foutopsporing. Een is standaard BooleanSwitch uitgeschakeld en een TraceSwitch is ingesteld op niveau TraceLevel.Off. Traceringsswitches kunnen worden gemaakt en in een deel van uw code worden geplaatst die ze mogelijk gebruiken.

Hoewel u traceringsniveaus en andere configuratieopties in code kunt instellen, raden we u aan het configuratiebestand te gebruiken om de status van uw switches te beheren. Dit komt doordat het beheren van de configuratie van uw switches in het configuratiesysteem u meer flexibiliteit biedt. U kunt verschillende switches in- en uitschakelen en niveaus wijzigen zonder uw toepassing opnieuw te compileren.

Een traceringsswitch maken en initialiseren

  1. Definieer een schakeloptie als type System.Diagnostics.BooleanSwitch of type System.Diagnostics.TraceSwitch en stel de naam en beschrijving van de switch in.

  2. Configureer uw traceringsswitch. Zie Traceerswitches configureren voor meer informatie.

    Met de volgende code worden twee switches gemaakt, één van elk type:

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

Traceringsswitches configureren

Nadat uw toepassing is gedistribueerd, kunt u traceringsuitvoer nog steeds in- of uitschakelen door de traceringsswitches in uw toepassing te configureren. Het configureren van een switch betekent dat de waarde van een externe bron wordt gewijzigd nadat deze is geïnitialiseerd. U kunt de waarden van de switchobjecten wijzigen met behulp van het configuratiebestand. U configureert een traceringsschakelaar om deze in en uit te schakelen, of om het niveau ervan in te stellen, het bepalen van de hoeveelheid en het type berichten dat wordt doorgegeven aan listeners.

Uw switches worden geconfigureerd met behulp van het .config-bestand. Voor een webtoepassing is dit het Web.config-bestand dat aan het project is gekoppeld. In een Windows-toepassing heeft dit bestand de naam (toepassingsnaam).exe.config. In een geïmplementeerde toepassing moet dit bestand zich in dezelfde map bevinden als het uitvoerbare bestand.

Wanneer uw toepassing de code uitvoert waarmee een exemplaar van een switch voor de eerste keer wordt gemaakt, wordt het configuratiebestand gecontroleerd op informatie op traceringsniveau over de benoemde switch. Het traceringssysteem onderzoekt het configuratiebestand slechts één keer voor een bepaalde switch. De eerste keer dat de toepassing de switch maakt.

In een geïmplementeerde toepassing schakelt u traceringscode in door switchobjecten opnieuw te configureren wanneer uw toepassing niet wordt uitgevoerd. Dit omvat meestal het in- en uitschakelen van de schakelobjecten of door de traceringsniveaus te wijzigen en vervolgens uw toepassing opnieuw op te starten.

Wanneer u een exemplaar van een schakeloptie maakt, initialiseert u deze ook door twee argumenten op te geven: een argument displayName en een beschrijvingsargument . Het argument displayName van de constructor stelt de Switch.DisplayName eigenschap van het Switch klasse-exemplaar in. De displayName is de naam die wordt gebruikt voor het configureren van de switch in het .config-bestand en het beschrijvingsargument moet een korte beschrijving van de switch retourneren en welke berichten worden beheerd.

Naast het opgeven van de naam van een switch die u wilt configureren, moet u ook een waarde voor de switch opgeven. Deze waarde is een geheel getal. Een waarde van 0 komt overeen BooleanSwitchmet Uit en een andere niet-nulwaarde komt overeen met Aan. Voor TraceSwitchrespectievelijk 0,1,2,3 en 4 komen overeen met Uit, Fout, Waarschuwing, Info en Uitgebreid. Een getal groter dan 4 wordt behandeld als Uitgebreid en een getal kleiner dan nul wordt behandeld als Uit.

Notitie

In .NET Framework versie 2.0 kunt u tekst gebruiken om de waarde voor een switch op te geven. Bijvoorbeeld true voor een BooleanSwitch of de tekst die een opsommingswaarde vertegenwoordigt, zoals Error voor een TraceSwitch. De regel <add name="myTraceSwitch" value="Error" /> is gelijk aan <add name="myTraceSwitch" value="1" />.

Als eindgebruikers de traceringsswitches van een toepassing kunnen configureren, moet u gedetailleerde documentatie over de switches in uw toepassing opgeven. U moet details geven over welke schakelopties bepalen wat en hoe u deze kunt in- en uitschakelen. U moet uw eindgebruiker ook voorzien van een .config-bestand met de juiste Help in de opmerkingen.

Traceringsswitches configureren

  1. Als u traceringsswitches wilt gebruiken, moet u deze eerst maken en in uw code plaatsen zoals beschreven in de sectie Een traceringsswitch maken en initialiseren.

  2. Als uw project geen configuratiebestand (app.config of Web.config) bevat, selecteert u in het menu Project de optie Nieuw item toevoegen.

    • Visual Basic: Kies in het dialoogvenster Nieuw item toevoegen het toepassingsconfiguratiebestand.

      Het toepassingsconfiguratiebestand wordt gemaakt en geopend. Dit is een XML-document waarvan het hoofdelement is <configuration>.

    • Visual C#: Kies IN het dialoogvenster Nieuw item toevoegen het XML-bestand. Geef dit bestand de naam app.config. Voeg na de XML-declaratie de volgende XML toe in de XML-editor:

      <configuration>
      </configuration>
      

      Wanneer uw project is gecompileerd, wordt het bestand app.config gekopieerd naar de projectuitvoermap en wordt de naam van de toepassingsnaam gewijzigd.exe.config.

  3. Voeg na de <configuration> tag, maar vóór de </configuration> tag, de juiste XML toe om uw switches te configureren. In de volgende voorbeelden ziet u een BooleaanseSwitch met een Eigenschap DisplayName van DataMessageSwitch en een TraceSwitch met de eigenschap DisplayName van TraceLevelSwitch.

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

    In deze configuratie zijn beide schakelaars uitgeschakeld.

  4. Als u een BooleaanseSwitch wilt inschakelen, zoals DataMessagesSwitch in het vorige voorbeeld, wijzigt u de waarde in een ander geheel getal dan 0.

  5. Als u een TraceSwitch wilt inschakelen, zoals TraceLevelSwitch in het vorige voorbeeld, wijzigt u de waarde in de juiste niveauinstelling (1 tot 4).

  6. Voeg opmerkingen toe aan het .config-bestand, zodat de eindgebruiker duidelijk weet welke waarden moeten worden gewijzigd om de switches op de juiste manier te configureren.

    In het volgende voorbeeld ziet u hoe de uiteindelijke code, inclusief opmerkingen, eruit kan zien:

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

Zie ook