Freigeben über


Exemplarische Vorgehensweise: Erstellen von benutzerdefinierten Protokolllistenern (Visual Basic)

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Sie einen benutzerdefinierten Protokolllistener erstellen und konfigurieren, um die Ausgabe des My.Application.Log Objekts zu überwachen.

Erste Schritte

Protokolllistener müssen von der TraceListener Klasse erben.

So erstellen Sie den Listener

  • Erstellen Sie in Ihrer Anwendung eine Klasse, die von SimpleListener erbt, mit dem Namen 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
    

    Die Write- und WriteLine-Methoden, die von der Basisklasse vorgeschrieben sind, rufen MsgBox auf, um ihre Eingabe anzuzeigen.

    Das HostProtectionAttribute Attribut wird auf die Write Und WriteLine Methoden angewendet, sodass ihre Attribute den Basisklassenmethoden entsprechen. Das HostProtectionAttribute Attribut ermöglicht dem Host, der den Code ausführt, zu bestimmen, dass der Code die Hostschutzsynchronisierung verfügbar macht.

    Hinweis

    Das HostProtectionAttribute Attribut ist nur für nicht verwaltete Anwendungen wirksam, die die Common Language Runtime hosten und Hostschutz implementieren, z. B. SQL Server.

Sie sollten der Assembly, die Ihren Protokolllistener enthält, einen starken Namen geben, um sicherzustellen, dass My.Application.Log Ihren Protokolllistener verwendet.

Im nächste Verfahren finden Sie einige einfache Schritte zum Erstellen einer Assembly mit starkem Namen und Protokolllistener. Weitere Informationen finden Sie unter Erstellen und Verwenden von Assemblys mit starkem Namen.

So geben Sie der Assembly mit Protokolllistener einen starken Namen

  1. Ein Projekt auswählen in Projektmappen-Explorer. Wählen Sie im Menü "Projekt " die Option "Eigenschaften" aus.

  2. Wählen Sie die Registerkarte Signierung aus.

  3. Wählen Sie das Feld Assembly signieren aus.

  4. Wählen Sie in der Dropdownliste < die Option >Neu aus.

    Das Dialogfeld " Schlüssel mit starkem Namen erstellen" wird geöffnet.

  5. Geben Sie im Feld "Schlüsseldateiname " einen Namen für die Schlüsseldatei an.

  6. Geben Sie ein Kennwort in die Felder " Kennwort eingeben " und "Kennwort bestätigen " ein.

  7. Klicke auf OK.

  8. Erstellen Sie die Anwendung neu.

Hinzufügen des Listeners

Da die Assembly jetzt über einen starken Namen verfügt, müssen Sie den starken Namen des Listeners bestimmen, damit My.Application.Log Ihren Protokolllistener verwendet.

Das Format eines stark benannten Typs lautet wie folgt.

<Typname>, <Assemblyname>, Versionsnummer<, ><Kultur>, <starker Name>

So bestimmen Sie den starken Namen des Listeners

  • Im folgenden Code wird gezeigt, wie Sie den Namen für den Typ mit starkem Namen für SimpleListener bestimmen.

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

    Der starke Name des Typs hängt von Ihrem Projekt ab.

Sie können mit dem starken Namen den Listener zur My.Application.Log-Auflistung der Protokolllistener hinzufügen.

So fügen Sie den Listener zu My.Application.Log hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf app.config, und wählen Sie "Öffnen" aus.

    -oder-

    Wenn eine app.config Datei vorhanden ist:

    1. Wählen Sie im Menü PROJEKT die Option Neues Element hinzufügen aus.

    2. Wählen Sie im Dialogfeld " Neues Element hinzufügen " die Option "Anwendungskonfigurationsdatei" aus.

    3. Klicken Sie auf Hinzufügen.

  2. Suchen Sie den <listeners> Abschnitt im <source> Abschnitt mit dem name Attribut "DefaultSource", der sich im <sources> Abschnitt befindet. Der Abschnitt <sources> befindet sich im <system.diagnostics> -Abschnitt im Abschnitt <configuration> der obersten Ebene.

  3. Fügen Sie dieses Element zum <listeners> Abschnitt hinzu:

    <add name="SimpleLog" />
    
  4. Suchen Sie den Abschnitt <sharedListeners> im <system.diagnostics> -Abschnitt im Abschnitt <configuration> der obersten Ebene.

  5. Fügen Sie dieses Element zu diesem <sharedListeners> Abschnitt hinzu:

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

    Ändern Sie den Wert von SimpleLogStrongName, sodass er dem starken Namen des Listeners entspricht.

Siehe auch