Share via


Overzicht: Aangepaste logboeklisteners maken (Visual Basic)

In dit scenario ziet u hoe u een aangepaste logboeklistener maakt en configureert om naar de uitvoer van het My.Application.Log object te luisteren.

Aan de slag

Logboeklisteners moeten overnemen van de TraceListener klasse.

De listener maken

  • Maak in uw toepassing een klasse met de naam SimpleListener die wordt overgenomen van TraceListener.

    Public Class SimpleListener
        Inherits System.Diagnostics.TraceListener
    
        <Security.Permissions.HostProtection(Synchronization:=True)>
        Public Overloads Overrides Sub Write(ByVal message As String)
            MsgBox("Write: " & message)
        End Sub
    
        <Security.Permissions.HostProtection(Synchronization:=True)>
        Public Overloads Overrides Sub WriteLine(ByVal message As String)
            MsgBox("WriteLine: " & message)
        End Sub
    End Class
    

    De Write en WriteLine methoden die zijn vereist voor de basisklasse, roepen MsgBox aan om hun invoer weer te geven.

    Het HostProtectionAttribute kenmerk wordt toegepast op de Write en WriteLine methoden, zodat de kenmerken overeenkomen met de basisklassemethoden. Met HostProtectionAttribute het kenmerk kan de host waarop de code wordt uitgevoerd, bepalen of de code synchronisatie van hostbeveiliging beschikbaar maakt.

    Notitie

    Het HostProtectionAttribute kenmerk is alleen van kracht op niet-beheerde toepassingen die als host fungeren voor de algemene taalruntime en die hostbeveiliging implementeren, zoals SQL Server.

Om ervoor te zorgen dat My.Application.Log uw logboeklistener wordt gebruikt, moet u de assembly die uw logboeklistener bevat, sterk een naam geven.

De volgende procedure biedt enkele eenvoudige stappen voor het maken van een sterk benoemde assembly voor logboeklistener. Zie Voor meer informatie het maken en gebruiken van sterk benoemde assembly's.

De logboeklistenerassembly een sterke naam geven

  1. Een project selecteren in Solution Explorer. Kies Eigenschappen in het menu Project.

  2. Klik op het tabblad Ondertekening .

  3. Selecteer het vak Assembly ondertekenen.

  4. Selecteer <Nieuw> in de vervolgkeuzelijst Een sterk naamsleutelbestand kiezen.

    Het dialoogvenster Sterke naamsleutel maken wordt geopend.

  5. Geef een naam op voor het sleutelbestand in het vak Sleutelbestand .

  6. Voer een wachtwoord in in de vakken Wachtwoord invoeren en Wachtwoord bevestigen.

  7. Klik op OK.

  8. Bouw de toepassing opnieuw.

De listener toevoegen

Nu de assembly een sterke naam heeft, moet u de sterke naam van de listener bepalen, zodat My.Application.Log uw logboeklistener wordt gebruikt.

De indeling van een sterk benoemd type is als volgt.

<typenaam, <assemblynaam>>, <versienummer>, <cultuur>, <sterke naam>

De sterke naam van de listener bepalen

  • De volgende code laat zien hoe u de sterk benoemde typenaam voor SimpleListener.

    Public Sub DisplaySimpleListenerStrongName()
        Dim t As Type = GetType(SimpleListener)
        MsgBox(t.FullName & ", " & t.Assembly.FullName)
    End Sub
    

    De sterke naam van het type is afhankelijk van uw project.

Met de sterke naam kunt u de listener toevoegen aan de My.Application.Log verzameling logboeklistener.

De listener toevoegen aan My.Application.Log

  1. Klik met de rechtermuisknop op app.config in Solution Explorer en kies Openen.

    – of –

    Als er een app.config-bestand is:

    1. Kies Nieuw item toevoegen in het menu Project.

    2. Kies in het dialoogvenster Nieuw item toevoegen het toepassingsconfiguratiebestand.

    3. Klik op Toevoegen.

  2. Zoek de <listeners> sectie in de <source> sectie met het name kenmerk DefaultSource in de <sources> sectie. De <sources> sectie bevindt zich in de <system.diagnostics> sectie, in de sectie op het hoogste niveau <configuration> .

  3. Voeg dit element toe aan de <listeners> sectie:

    <add name="SimpleLog" />
    
  4. Zoek de <sharedListeners> sectie in de <system.diagnostics> sectie op het hoogste niveau <configuration> .

  5. Voeg dit element toe aan die <sharedListeners> sectie:

    <add name="SimpleLog" type="SimpleLogStrongName" />
    

    Wijzig de waarde van SimpleLogStrongName deze waarde in de sterke naam van de listener.

Zie ook