Freigeben über


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)

Syntax

'Declaration
Public Property Source As String
'Usage
Dim instance As EventLog
Dim value As String

value = instance.Source

instance.Source = value
public string Source { get; set; }
public:
property String^ Source {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_Source ()

/** @property */
public void set_Source (String value)
public function get Source () : String

public function set Source (value : String)

Eigenschaftenwert

Der Name, der im Ereignisprotokoll als Quelle für Einträge registriert ist. Der Standardwert ist eine leere Zeichenfolge ("").

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

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

Hinweise

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

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. So hat das Betriebssystem Zeit, 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

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.

Thema Position
Gewusst wie: Erstellen und Ausführen des Beispiels für Profilanbieter Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen und Ausführen des Beispiels für Profilanbieter Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen und Ausführen des Beispiels für Profilanbieter Erstellen von ASP.NET-Webanwendungen

Beispiel

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

Option Explicit
Option Strict
Imports System
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create the source, if it does not already exist.
        If Not EventLog.SourceExists("MySource") Then
            EventLog.CreateEventSource("MySource", "MyNewLog")
            Console.WriteLine("CreatingEventSource")
        End If
        
        ' Create an EventLog instance and assign its source.
        Dim myLog As 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.")
    End Sub ' Main
End Class ' MySample
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")){
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
        }
                
        // 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.");                                                                        
    }
}
   
#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource" ) )
   {
      EventLog::CreateEventSource( "MySource", "MyNewLog" );
      Console::WriteLine( "CreatingEventSource" );
   }

   
   // Create an EventLog instance and assign its source.
   EventLog^ myLog = gcnew 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." );
}
import System.*;
import System.Diagnostics.*;
import System.Threading.*;

class MySample
{
    public static void main(String[] args)
    {
        // Create the source, if it does not already exist.
        if (!(EventLog.SourceExists("MySource"))) {
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
        }

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

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");
        Console.WriteLine("Message written to event log.");
    } //main
} //MySample

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

EventLog-Klasse
EventLog-Member
System.Diagnostics-Namespace
EventLog.Log-Eigenschaft
EventLog.MachineName-Eigenschaft
CreateEventSource
DeleteEventSource
SourceExists