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.
Die Objekte My.Application.Log und My.Log erleichtern das Schreiben von Protokollierungs- und Ablaufverfolgungsinformationen in Logs.
Wie Nachrichten protokolliert werden
Zuerst wird der Schweregrad der Meldung mithilfe der Switch -Eigenschaft der TraceSource -Eigenschaft des Protokolls überprüft. Standardmäßig werden nur Meldungen vom Schweregrad "Information" und höher an die Nachverfolgungslistener übergeben, die in der TraceListener -Auflistung des Protokolls angegeben sind. Anschließend vergleicht jeder Listener den Schweregrad der Meldung mit der Eigenschaft Switch des Listeners. Wenn der Schweregrad der Nachricht hoch genug ist, schreibt der Listener die Nachricht aus.
Im folgenden Diagramm ist dargestellt, wie eine in die WriteEntry -Methode geschriebene Meldung an die WriteLine -Methoden der Ablaufverfolgungslistener des Protokolls übergeben wird:

Das Verhalten von Protokoll und Ablaufverfolgungslistener lässt sich durch Ändern der Konfigurationsdatei der Anwendung ändern. Das folgende Diagramm zeigt die Korrespondenz zwischen den Teilen des Protokolls und der Konfigurationsdatei.

Wo Nachrichten protokolliert werden
Wenn die Assembly keine Konfigurationsdatei enthält, schreiben die My.Application.Log Objekte und My.Log Objekte in die Debugausgabe der Anwendung (über die DefaultTraceListener Klasse). Darüber hinaus schreibt das My.Application.Log Objekt in die Protokolldatei der Assembly (über die FileLogTraceListener Klasse), während das My.Log Objekt in die Ausgabe der ASP.NET Webseite (über die WebPageTraceListener Klasse) schreibt.
Die Debugausgabe kann im Visual Studio-Ausgabefenster angezeigt werden, wenn Die Anwendung im Debugmodus ausgeführt wird. Klicken Sie zum Öffnen des Ausgabefensters auf das Menüelement " Debuggen ", zeigen Sie auf Windows, und klicken Sie dann auf "Ausgabe". Wählen Sie im Ausgabefenster im Feld "Ausgabe anzeigen" die Option "Debuggen" aus.
Standardmäßig schreibt My.Application.Log die Protokolldatei im Pfad für die Anwendungsdaten des Benutzers. Sie können den Pfad aus der FullLogFileName Eigenschaft des DefaultFileLogWriter Objekts abrufen. Das Format dieses Pfads lautet wie folgt:
BasePath\CompanyName\ProductName\ProductVersion
Ein typischer Wert für BasePath ist wie folgt.
C:\Dokumente und Einstellungen\username\Anwendungsdaten
Die Werte von CompanyName, ProductNameund ProductVersion stammen aus den Assemblyinformationen der Anwendung. Die Form des Protokolldateinamens ist AssemblyName.log, wobei AssemblyName der Dateiname der Assembly ohne die Erweiterung ist. Wenn mehr als eine Protokolldatei erforderlich ist, z. B. wenn das ursprüngliche Protokoll nicht verfügbar ist, wenn die Anwendung versucht, in das Protokoll zu schreiben, ist das Formular für den Protokolldateinamen AssemblyName-Iteration.log, wobei iteration ein positiver IntegerWert ist.
Sie können das Standardverhalten außer Kraft setzen, indem Sie die Konfigurationsdateien des Computers und die Konfigurationsdateien der Anwendung hinzufügen oder ändern. Weitere Informationen finden Sie unter Anleitung: Ändern des Speicherorts, an dem My.Application.Log Informationen schreibt.
Konfigurieren von Protokolleinstellungen
Das Log Objekt verfügt über eine Standardimplementierung, die ohne Anwendungskonfigurationsdatei funktioniert, app.config. Um die Standardwerte zu ändern, müssen Sie eine Konfigurationsdatei mit den neuen Einstellungen hinzufügen. Weitere Informationen finden Sie unter Walkthrough: Filtering My.Application.Log Output.
Die Protokollkonfigurationsabschnitte befinden sich im <system.diagnostics>-Knoten im Haupt-<configuration>-Knoten der Datei app.config. Protokollinformationen werden in mehreren Knoten definiert:
Die Listener für das
LogObjekt werden im<sources>Knoten "DefaultSource" definiert.Der Schweregradfilter für das
LogObjekt wird im<switches>Knoten "DefaultSwitch" definiert.Die Protokolllistener werden im
<sharedListeners>Knoten definiert.
Beispiele für <sources>, <switches>und <sharedListeners> Knoten werden im folgenden Code gezeigt:
<configuration>
<system.diagnostics>
<sources>
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"
/>
</sharedListeners>
</system.diagnostics>
</configuration>
Ändern der Protokolleinstellungen nach der Bereitstellung
Wenn Sie eine Anwendung entwickeln, werden die Konfigurationseinstellungen in der app.config-Datei gespeichert, wie in den obigen Beispielen gezeigt. Nachdem Sie Ihre Anwendung bereitgestellt haben, können Sie das Protokoll weiterhin konfigurieren, indem Sie die Konfigurationsdatei bearbeiten. In einer Windows-basierten Anwendung lautet der Name dieser Datei "applicationName ".exe.configund muss sich im selben Ordner wie die ausführbare Datei befinden. Bei einer Webanwendung ist dies die Web.config Datei, die dem Projekt zugeordnet ist.
Wenn Ihre Anwendung den Code ausführt, der eine Instanz einer Klasse zum ersten Mal erstellt, überprüft sie die Konfigurationsdatei auf Informationen zum Objekt. Für das Log Objekt geschieht dies beim ersten Zugriff auf das Log Objekt. Das System untersucht die Konfigurationsdatei nur einmal für ein bestimmtes Objekt– das erste Mal, wenn die Anwendung das Objekt erstellt. Daher müssen Sie die Anwendung möglicherweise neu starten, damit die Änderungen wirksam werden.
In einer bereitgestellten Anwendung aktivieren Sie Protokollcode, indem Sie Switch-Objekte neu konfigurieren, bevor die Anwendung startet. Üblicherweise umfasst dies das Aktivieren oder Deaktivieren der Schalterobjekte oder Ändern der Ablaufverfolgungsebenen und dann das Neustarten Ihrer Anwendung.
Sicherheitsüberlegungen
Beachten Sie beim Schreiben von Daten in das Protokoll Folgendes:
Vermeiden Sie das Verlust von Benutzerinformationen. Stellen Sie sicher, dass Ihre Anwendung nur genehmigte Informationen in das Protokoll schreibt. Es kann z. B. zulässig sein, dass das Anwendungsprotokoll Benutzernamen, aber keine Benutzerwörter enthält.
Sorgen Sie dafür, dass Protokollspeicherorte sicher sind. Jedes Protokoll, das potenziell vertrauliche Informationen enthält, sollte an einem sicheren Ort gespeichert werden.
Vermeiden Sie irreführende Informationen. Im Allgemeinen sollte Ihre Anwendung alle von einem Benutzer eingegebenen Daten überprüfen, bevor Sie diese Daten verwenden. Dazu gehört das Schreiben von Daten in das Anwendungsprotokoll.
Vermeiden Sie Dienstverweigerung Wenn Ihre Anwendung zu viele Informationen in das Protokoll schreibt, könnte sie das Protokoll füllen oder das Auffinden wichtiger Informationen erschweren.