Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

EventLog.Source-Eigenschaft

Ruft den zu registrierenden Namen der Quelle ab, die zum Schreiben in das Ereignisprotokoll verwendet werden soll, oder legt diesen fest.

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)
[TypeConverterAttribute("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[SettingsBindableAttribute(true)]
public string Source { get; set; }

Eigenschaftswert

Typ: System.String
Der Name, der im Ereignisprotokoll als Quelle für Einträge registriert ist. Der Standardwert ist eine leere Zeichenfolge ("").
Ausnahme Bedingung
ArgumentException

Der Quellenname führt dazu, dass der Registrierungsschlüsselpfad länger als 254 Zeichen ist.

Die Ereignisquelle gibt an, wodurch das Ereignis protokolliert wird. Häufig ist dies der Name der Anwendung oder bei großen Anwendungen der Name einer Unterkomponente. Anwendungen und Dienste schreiben in das Anwendungsprotokoll oder ein benutzerdefiniertes Protokoll. Gerätetreiber schreiben i. d. R. in das Systemprotokoll.

Sie müssen nur eine Ereignisquelle angeben, wenn Sie in ein Ereignisprotokoll schreiben. Vor dem Schreiben eines Eintrags in ein Ereignisprotokoll müssen Sie die Ereignisquelle im Ereignisprotokoll als gültige Quelle für Ereignisse registrieren. Wenn Sie einen Protokolleintrag schreiben, verwendet das System die Source-Eigenschaft, um das Protokoll zu suchen, in das der Eintrag geschrieben werden soll. Wenn Sie das Ereignisprotokoll lesen, können Sie entweder die Source oder ein Log und einen MachineName angeben.

Hinweis Hinweis

Sie müssen keinen MachineName angeben, wenn Sie eine Verbindung mit einem Protokoll auf dem lokalen Computer herstellen. Wenn Sie keinen MachineName angeben, wird der lokale Computer (".") verwendet.

Verwenden Sie WriteEvent und WriteEntry, um Ereignisse in ein Ereignisprotokoll zu schreiben. Sie müssen zum Schreiben von Ereignissen eine Ereignisquelle angeben. Bevor Sie den ersten Eintrag mit der Quelle schreiben, müssen Sie die Ereignisquelle erstellen und konfigurieren.

Erstellen Sie die neue Ereignisquelle während der Installation der Anwendung. Dies gibt dem Betriebssystem Gelegenheit, die Liste der registrierten Ereignisquellen und deren Konfiguration zu aktualisieren. Wenn die Liste der Ereignisquellen vom Betriebssystem nicht aktualisiert wurde und Sie versuchen, ein Ereignis für die neue Quelle zu schreiben, schlägt der Schreibvorgang fehl. Sie können eine neue Quelle entweder mithilfe eines EventLogInstaller oder mithilfe der CreateEventSource-Methode erstellen. Sie benötigen Administratorrechte für den Computer, um eine neue Ereignisquelle zu erstellen.

Sie können eine Ereignisquelle für ein vorhandenes oder für ein neues Ereignisprotokoll erstellen. Wenn Sie eine neue Quelle für ein neues Ereignisprotokoll erstellen, wird die Quelle für das Protokoll im System registriert, das Protokoll wird jedoch erst beim Schreiben des ersten Eintrags erstellt.

Die Quelle muss auf dem lokalen Computer eindeutig sein. Neue Quellennamen dürfen nicht mit einem vorhandenen Quellennamen oder einem vorhandenen Ereignisprotokollnamen übereinstimmen. Jede Quelle kann immer nur in ein Ereignisprotokoll schreiben. Die Anwendung kann jedoch mehrere Quellen verwenden, um in mehrere Ereignisprotokolle zu schreiben. Beispielsweise müssen für die Anwendung eventuell mehrere Quellen für unterschiedliche Ereignisprotokolle oder Ressourcendateien konfiguriert werden.

Wenn Sie den Source-Wert ändern, wird das EventLog geschlossen, in dem die Quelle registriert ist, und alle Ereignishandles werden freigegeben.

Die Quelle muss entweder zum Schreiben lokalisierter Einträge oder zum Schreiben direkter Zeichenfolgen konfiguriert werden. Wenn die Anwendung beim Schreiben von Einträgen sowohl Ressourcenbezeichner als auch Zeichenfolgenwerte verwendet, müssen Sie zwei getrennte Quellen registrieren. Konfigurieren Sie beispielsweise eine Quelle mit Ressourcendateien, und verwenden Sie diese Quelle dann in der WriteEvent-Methode, um Einträge mithilfe von Ressourcenbezeichnern in das Ereignisprotokoll zu schreiben. Erstellen Sie dann eine andere Quelle ohne Ressourcendateien, und verwenden Sie diese Quelle in der WriteEntry-Methode, um Zeichenfolgen mithilfe dieser Quelle direkt in das Ereignisprotokoll zu schreiben.

Wenn Sie die Konfiguration einer vorhandenen Quelle ändern möchten, müssen Sie sie löschen und mit der neuen Konfiguration neu erstellen. Wenn andere Anwendungen oder Komponenten die vorhandene Quelle nutzen, erstellen Sie eine neue Quelle mit der aktualisierten Konfiguration, anstatt die vorhandene Quelle zu löschen.

Hinweis Hinweis

Wenn eine Quelle bereits einem Protokoll zugeordnet ist und jetzt einem anderen Protokoll zugeordnet wird, müssen Sie den Computer neu starten, damit die Änderungen wirksam werden.

Im folgenden Beispiel wird die Quelle MySource erstellt, wenn sie nicht bereits vorhanden ist, und anschließend ein Eintrag in das Ereignisprotokoll MyNewLog geschrieben.


using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))
        {
            // An event log source should not be created and immediately used.
            // There is a latency time to enable the source, it should be created
            // prior to executing the application that uses the source.
            // Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");

        Console.WriteLine("Message written to event log.");                                                                        
    }
}
   


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ