Sdílet prostřednictvím


Návod: Vytváření vlastních protokolových posluchačů (Visual Basic)

Tento návod ukazuje, jak vytvořit vlastní protokolu posluchač a nakonfigurovat ho tak, aby sledoval výstup objektu My.Application.Log.

Začínáme

Posluchače protokolu musí dědit z třídy TraceListener.

Chcete vytvořit posluchače

  • V aplikaci vytvořte třídu s názvem SimpleListener , která dědí z 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
    

    Write a WriteLine metody, které jsou vyžadovány základní třídou, volají MsgBox pro zobrazení svého vstupu.

    Atribut HostProtectionAttribute se použije na Write metody a WriteLine metody tak, aby jejich atributy odpovídaly metodám základní třídy. Atribut HostProtectionAttribute umožňuje hostiteli, který spouští kód, určit, že kód zveřejňuje synchronizaci ochrany hostitele.

    Poznámka:

    Atribut HostProtectionAttribute je efektivní pouze u nespravovaných aplikací, které hostují modul CLR (Common Language Runtime) a implementují ochranu hostitele, jako je SQL Server.

Pro zajištění, aby My.Application.Log používal vašeho záznamového posluchače, měli byste silně pojmenovat sestavení obsahující tohoto posluchače.

Další postup obsahuje několik jednoduchých kroků pro vytvoření sestavení pro naslouchání logům, které bude mít silný název. Další informace naleznete v tématu Vytváření a používání sestavení se silným názvem.

Pro silné pojmenování sestavení naslouchacího procesu protokolu

  1. V Průzkumníku řešení vyberte projekt. V nabídce Projekt zvolte Vlastnosti.

  2. Klikněte na kartu Podepisování.

  3. Vyberte zaškrtávací políčko Podepsat sestavení.

  4. V <rozevíracím seznamu Zvolit soubor silného názvu klíče vyberte Možnost Nový>.

    Otevře se dialogové okno Vytvořit silný pojmenovaný klíč.

  5. Do pole Název souboru klíče zadejte název pro soubor klíče.

  6. Zadejte heslo do polí Zadejte heslo a Potvrďte heslo .

  7. Klikněte na OK.

  8. Znovu sestavte aplikaci.

Přidání naslouchacího

Teď, když má sestavení silný název, musíte určit silný název naslouchacího procesu, aby My.Application.Log se používal naslouchací proces protokolu.

Formát silného pojmenovaného typu je následující.

<název typu>, <název sestavení>, <číslo verze>, <kultura>, <silný název>

Určení silného názvu naslouchacího zařízení

  • Následující kód ukazuje, jak určit název silného pojmenovaného typu pro SimpleListener.

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

    Silný název typu závisí na vašem projektu.

Se silným názvem můžete přidat nasluchač do kolekce nasluchačů protokolu My.Application.Log.

Přidat posluchač do My.Application.Log

  1. V Průzkumníku řešení klikněte pravým tlačítkem na app.config a zvolte Otevřít.

    nebo

    Pokud existuje soubor app.config:

    1. V nabídce Projekt zvolte Přidat novou položku.

    2. V dialogovém okně Přidat novou položku zvolte Konfigurační soubor aplikace.

    3. Klikněte na tlačítko Přidat.

  2. Vyhledejte oddíl <listeners> v oddílu <source> s atributem name "DefaultSource", který se nachází v oddílu <sources>. Oddíl <sources> se nachází v oddílu <system.diagnostics>, v oddílu <configuration> nejvyšší úrovně.

  3. Přidejte tento prvek do oddílu <listeners> :

    <add name="SimpleLog" />
    
  4. Najděte sekci <sharedListeners>, v rámci sekce <system.diagnostics>, v rámci sekce nejvyšší úrovně <configuration>.

  5. Přidejte tento element do tohoto <sharedListeners> oddílu:

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

    Změňte hodnotu SimpleLogStrongName tak, aby byla silným názvem nasluchače.

Viz také