Dela via


Genomgång: Skapa anpassade logglyssnare (Visual Basic)

Den här genomgången visar hur du skapar en anpassad logglyssnare och konfigurerar den för att lyssna på objektets My.Application.Log utdata.

Komma igång

Logglyssnare TraceListener måste ärva från klassen.

Skapa lyssnaren

  • I ditt program skapar du en klass med namnet SimpleListener som ärver från 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
    

    Metoderna Write och WriteLine som krävs av basklassen anropar MsgBox för att visa deras indata.

    Attributet HostProtectionAttribute tillämpas på Write metoderna och WriteLine så att deras attribut matchar basklassmetoderna. Med HostProtectionAttribute attributet kan värden som kör koden fastställa att koden exponerar synkronisering av värdskydd.

    Kommentar

    Attributet HostProtectionAttribute gäller endast för ohanterade program som är värdar för den vanliga språkkörningen och som implementerar värdskydd, till exempel SQL Server.

För att säkerställa att My.Application.Log logglyssnaren används bör du ge den sammansättning som innehåller logglyssnaren ett starkt namn.

Nästa procedur innehåller några enkla steg för att skapa en starkt namngiven log-listener-sammansättning. Mer information finns i Skapa och använda starka namngivna sammansättningar.

Ge logglyssningssammansättningen ett starkt namn

  1. Välj ett projekt i Solution Explorer. På Projekt-menyn väljer du Egenskaper.

  2. Klicka på fliken Signering .

  3. Välj rutan Signera sammansättning .

  4. Välj <Nytt> i listrutan Välj en stark namnnyckelfil .

    Dialogrutan Skapa stark namnnyckel öppnas.

  5. Ange ett namn på nyckelfilen i rutan Nyckelfilnamn .

  6. Ange ett lösenord i rutorna Ange lösenord och Bekräfta lösenord .

  7. Klicka på OK.

  8. Återskapa programmet.

Lägga till lyssnaren

Nu när sammansättningen har ett starkt namn måste du fastställa lyssnarens starka namn så att My.Application.Log logglyssnaren används.

Formatet för en starkt namngiven typ är följande.

<typnamn>, <sammansättningsnamn>, <versionsnummer>, <kultur>, <starkt namn>

För att fastställa lyssnarens starka namn

  • Följande kod visar hur du bestämmer det starkt namngivna typnamnet för SimpleListener.

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

    Det starka namnet på typen beror på ditt projekt.

Med det starka namnet kan du lägga till lyssnaren i logglyssningssamlingen My.Application.Log .

Så här lägger du till lyssnaren i My.Application.Log

  1. Högerklicka på app.config i Solution Explorer och välj Öppna.

    -eller-

    Om det finns en app.config-fil:

    1. På Projekt-menyn väljer du Lägg till nytt objekt.

    2. I dialogrutan Lägg till nytt objekt väljer du Programkonfigurationsfil.

    3. Klicka på Lägg till.

  2. <listeners> Leta upp avsnittet i avsnittet <source> med name attributet "DefaultSource", som finns i avsnittet<sources>. Avsnittet <sources> finns i avsnittet <system.diagnostics> på den översta nivån <configuration> .

  3. Lägg till det här elementet i <listeners> avsnittet:

    <add name="SimpleLog" />
    
  4. Leta upp avsnittet <sharedListeners> i avsnittet <system.diagnostics> i avsnittet på den översta nivån <configuration> .

  5. Lägg till det här elementet i det <sharedListeners> avsnittet:

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

    Ändra värdet SimpleLogStrongName för så att det är lyssnarens starka namn.

Se även