Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Ein Projekt auswählen in Projektmappen-Explorer. Wählen Sie im Menü "Projekt " die Option "Eigenschaften" aus.
Wählen Sie die Registerkarte Signierung aus.
Wählen Sie das Feld Assembly signieren aus.
Wählen Sie in der Dropdownliste < die Option >Neu aus.
Das Dialogfeld " Schlüssel mit starkem Namen erstellen" wird geöffnet.
Geben Sie im Feld "Schlüsseldateiname " einen Namen für die Schlüsseldatei an.
Geben Sie ein Kennwort in die Felder " Kennwort eingeben " und "Kennwort bestätigen " ein.
Klicke auf OK.
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
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:
Wählen Sie im Menü PROJEKT die Option Neues Element hinzufügen aus.
Wählen Sie im Dialogfeld " Neues Element hinzufügen " die Option "Anwendungskonfigurationsdatei" aus.
Klicken Sie auf Hinzufügen.
Suchen Sie den
<listeners>
Abschnitt im<source>
Abschnitt mit demname
Attribut "DefaultSource", der sich im<sources>
Abschnitt befindet. Der Abschnitt<sources>
befindet sich im<system.diagnostics>
-Abschnitt im Abschnitt<configuration>
der obersten Ebene.Fügen Sie dieses Element zum
<listeners>
Abschnitt hinzu:<add name="SimpleLog" />
Suchen Sie den Abschnitt
<sharedListeners>
im<system.diagnostics>
-Abschnitt im Abschnitt<configuration>
der obersten Ebene.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.