DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 307024 - Geändert am: Mittwoch, 8. Januar 2014 - Version: 1.0

Auf dieser Seite

Zusammenfassung

In diesem Artikel wird Schritt für Schritt beschrieben, wie Sie mit Microsoft .NET Framework eigene Einträge zum Ereignisprotokoll des Betriebssystems hinzufügen.

Voraussetzungen

In der folgenden Liste werden die empfohlene Hardware, Software und Netzwerkinfrastruktur und die erforderlichen Service Packs aufgeführt:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server oder Windows NT 4.0 Server
  • Microsoft Visual Studio C#

Schreiben in ein Ereignisprotokoll

Ereignisprotokolle stellen ein standardisiertes und zentralisiertes Verfahren für Anwendungen bereit, wichtige Software- und Hardwareereignisse aufzuzeichnen. Windows stellt mit der Ereignisanzeige eine Standardbenutzeroberfläche zum Anzeigen der Protokolle zur Verfügung. Mit der EventLog-Komponente der Common Language Runtime können ganz einfach Verbindungen mit vorhandenen Ereignisprotokollen auf lokalen Computern und Remotecomputern hergestellt und Einträge in diese Protokolle geschrieben werden. Sie können auch Einträge in vorhandenen Protokollen lesen und eigene, benutzerdefinierte Ereignisprotokolle erstellen. Zum Erstellen einer einfachen Beispielanwendung für das Schreiben in ein Ereignisprotokoll sind nur wenige Schritte erforderlich. Gehen Sie zu diesem Zweck folgendermaßen vor:
  1. Öffnen Sie Visual Studio C#.
  2. Erstellen Sie eine neue Konsolenanwendung in Visual C#. In der Konsolenanwendung werden eine öffentliche Klasse sowie eine leere Methode Main für Sie erstellt.
  3. Stellen Sie sicher, dass das Projekt mindestens einen Verweis auf die Datei "System.dll" enthält.
  4. Verwenden Sie die using-Direktive für die Namespaces System und System.Diagnostics, damit Sie später keine Deklarationen für diesen Namespaces in Ihren Code einfügen müssen. Sie müssen diese Anweisungen vor allen anderen Deklarationen einfügen.
    using System;
    using System.Diagnostics;
    					
  5. Für das Schreiben in ein Ereignisprotokoll sind verschiedene Informationen erforderlich: Die Meldung, der Name des Protokolls, in das geschrieben werden soll (wenn diese Datei nicht vorhanden ist, wird sie erstellt), sowie eine Zeichenfolgendarstellung der Quelle des Ereignisses. Eine bestimmte Quelle kann nur bei einem Ereignisprotokoll registriert werden. Wenn Meldungen in mehrere Protokolle geschrieben werden sollen, müssen Sie daher mehrere Quellen definieren.
    string sSource;
    string sLog;
    string sEvent;
    
    sSource = "dotNET Sample App";
    sLog = "Application";
    sEvent = "Sample Event";
    					
  6. Verwenden Sie zwei statische Methoden der EventLog-Klasse, um zu überprüfen, ob die Quelle vorhanden ist. Wenn dies nicht der Fall ist, wird die einem bestimmten Ereignisprotokoll zugeordnete Quelle erstellt. Wenn der von Ihnen angegebene Protokollname nicht vorhanden ist, wird die Datei beim Schreiben des ersten Eintrags automatisch erstellt. Wenn Sie der Methode CreateEventSource keinen Protokollnamen übergeben, erhält die Protokolldatei standardmäßig den Namen "Application Log".
    if (!EventLog.SourceExists(sSource))
    	EventLog.CreateEventSource(sSource,sLog);
    					
  7. Zum Schreiben einer Meldung in ein Ereignisprotokoll können Sie die statische EventLog.WriteEntry-Methode verwenden. Für diese Methode sind mehrere überladene Versionen verfügbar. Im nachfolgenden Codebeispiel werden zwei Methoden dargestellt: die einfachste Methode, die eine Quellzeichenfolge und Ihre Meldung verwendet, sowie eine komplexere Methode, die das Angeben der Ereignis-ID und des Ereignistyps unterstützt.
    EventLog.WriteEntry(sSource,sEvent);
    EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning, 234);
    					
  8. Speichern Sie die Anwendung. Führen Sie die Anwendung aus, und überprüfen Sie das Protokoll "Application" in der Ereignisanzeige auf die neuen Ereignisse.

Vollständiges Codelisting

using System;
using System.Diagnostics;

namespace WriteToAnEventLog_csharp
{
	/// Zusammenfassende Beschreibung für Class1.
	class Class1
	{
		static void Main(string[] args)
		{
			string sSource;
			string sLog;
			string sEvent;

			sSource = "dotNET Sample App";
			sLog = "Application";
			sEvent = "Sample Event";

			if (!EventLog.SourceExists(sSource))
				EventLog.CreateEventSource(sSource,sLog);

			EventLog.WriteEntry(sSource,sEvent);
			EventLog.WriteEntry(sSource, sEvent,
				EventLogEntryType.Warning, 234);
		}
	}
}
				
Hinweis Dies ist ein Artikel, der im Schnellverfahren direkt von der Microsoft-Supportorganisation erstellt wurde. Die hierin enthaltenen Informationen werden als Reaktion auf neue Probleme wie besehen bereitgestellt. Da dieser Artikel im Schnellverfahren erstellt wurde, kann er Tippfehler enthalten und zu einem späteren Zeitpunkt ohne vorherige Ankündigung überarbeitet werden. Weitere zu berücksichtigende Informationen finden Sie in den Nutzungsbedingungen (http://go.microsoft.com/fwlink/?LinkId=151500) .

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Keywords: 
kbdebug kbhowtomaster KB307024
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store