EventLog.Source Właściwość

Definicja

Pobiera lub ustawia nazwę źródła do zarejestrowania i użycia podczas zapisywania w dzienniku zdarzeń.Gets or sets the source name to register and use when writing to the event log.

public:
 property System::String ^ Source { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public string Source { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Source { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Source { get; set; }
[System.ComponentModel.SettingsBindable(true)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Source { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Source { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.Source : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Source : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Source : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Source : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Source : string with get, set
Public Property Source As String

Wartość właściwości

String

Nazwa zarejestrowana w dzienniku zdarzeń jako źródło wpisów.The name registered with the event log as a source of entries. Wartością domyślną jest ciąg pusty ("").The default is an empty string ("").

Atrybuty

Wyjątki

Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaków.The source name results in a registry key path longer than 254 characters.

Przykłady

Poniższy przykład tworzy źródło MySource , jeśli jeszcze nie istnieje, i zapisuje wpis w dzienniku zdarzeń MyNewLog .The following example creates the source MySource if it does not already exist, and writes an entry to the event log MyNewLog.

#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." );
}

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.");
    }
}

Option Explicit
Option Strict
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
End Class

Uwagi

Źródło zdarzenia wskazuje, co rejestruje zdarzenie.The event source indicates what logs the event. Często jest to nazwa aplikacji lub nazwa podskładniku aplikacji, jeśli aplikacja jest duża.It is often the name of the application, or the name of a subcomponent of the application, if the application is large. Aplikacje i usługi powinny zapisywać w dzienniku aplikacji lub dzienniku niestandardowym.Applications and services should write to the Application log or a custom log. Sterowniki urządzeń powinny zapisywać dane w dzienniku systemu.Device drivers should write to the System log.

Jeśli zapisujesz w dzienniku zdarzeń, musisz określić źródło zdarzenia.You only need to specify an event source if you are writing to an event log. Przed zapisaniem wpisu w dzienniku zdarzeń należy zarejestrować Źródło zdarzenia w dzienniku zdarzeń jako prawidłowe źródło zdarzeń.Before writing an entry to an event log, you must register the event source with the event log as a valid source of events. Podczas pisania wpisu dziennika system używa Source właściwości, aby znaleźć odpowiedni dziennik, w którym ma zostać umieszczony wpis.When you write a log entry, the system uses the Source property to find the appropriate log in which to place your entry. W przypadku odczytywania dziennika zdarzeń można określić Source , lub a Log i MachineName .If you are reading the event log, you can either specify the Source, or a Log and MachineName.

Uwaga

Nie jest wymagane, aby określić, MachineName czy łączysz się z dziennika na komputerze lokalnym.You are not required to specify the MachineName if you are connecting to a log on the local computer. Jeśli nie określisz MachineName , zostanie przyjęty komputer lokalny (".").If you do not specify the MachineName, the local computer (".") is assumed.

Używanie WriteEvent i WriteEntry do zapisywania zdarzeń w dzienniku zdarzeń.Use WriteEvent and WriteEntry to write events to an event log. Należy określić źródło zdarzenia do zapisywania zdarzeń; przed zapisaniem pierwszego wpisu ze źródłem należy utworzyć i skonfigurować źródło zdarzenia.You must specify an event source to write events; you must create and configure the event source before writing the first entry with the source.

Utwórz nowe źródło zdarzenia podczas instalacji aplikacji.Create the new event source during the installation of your application. Pozwala to czas na odświeżenie listy zarejestrowanych źródeł zdarzeń i ich konfiguracji przez system operacyjny.This allows time for the operating system to refresh its list of registered event sources and their configuration. Jeśli system operacyjny nie odświeżył swojej listy źródeł zdarzeń i podjęto próbę zapisania zdarzenia z nowym źródłem, operacja zapisu zakończy się niepowodzeniem.If the operating system has not refreshed its list of event sources, and you attempt to write an event with the new source, the write operation will fail. Nowe źródło można skonfigurować przy użyciu EventLogInstaller lub przy użyciu CreateEventSource metody.You can configure a new source using an EventLogInstaller, or using the CreateEventSource method. Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.You must have administrative rights on the computer to create a new event source.

Można utworzyć źródło zdarzenia dla istniejącego dziennika zdarzeń lub nowego dziennika zdarzeń.You can create an event source for an existing event log or a new event log. Gdy tworzysz nowe źródło dla nowego dziennika zdarzeń, system rejestruje źródło tego dziennika, ale dziennik nie zostanie utworzony, dopóki nie zostanie do niego zapisany pierwszy wpis.When you create a new source for a new event log, the system registers the source for that log, but the log is not created until the first entry is written to it.

Źródło musi być unikatowe na komputerze lokalnym; Nowa nazwa źródła nie może być zgodna z nazwą istniejącego źródła lub nazwą istniejącego dziennika zdarzeń.The source must be unique on the local computer; a new source name cannot match an existing source name or an existing event log name. Każde źródło może zapisywać tylko w jednym dzienniku zdarzeń naraz; Jednak aplikacja może zapisywać w wielu dziennikach zdarzeń przy użyciu wielu źródeł.Each source can write to only one event log at a time; however, your application can use multiple sources to write to multiple event logs. Na przykład aplikacja może wymagać wielu źródeł skonfigurowanych dla różnych dzienników zdarzeń lub różnych plików zasobów.For example, your application might require multiple sources configured for different event logs or different resource files.

Zmiana Source wartości, EventLog na którą jest ona zarejestrowana, jest zamknięta i wszystkie uchwyty zdarzeń zostaną wydane.If you change the Source value, the EventLog to which it is registered is closed and all event handles are released.

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub do pisania ciągów bezpośrednich.The source must be configured either for writing localized entries or for writing direct strings. Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, należy zarejestrować dwa oddzielne źródła.If your application writes entries using both resource identifiers and string values, you must register two separate sources. Na przykład Skonfiguruj jedno źródło z plikami zasobów, a następnie użyj tego źródła w WriteEvent metodzie do zapisu wpisów przy użyciu identyfikatorów zasobów do dziennika zdarzeń.For example, configure one source with resource files, and then use that source in the WriteEvent method to write entries using resource identifiers to the event log. Następnie utwórz inne źródło bez plików zasobów i Użyj tego źródła w WriteEntry metodzie, aby pisać ciągi bezpośrednio do dziennika zdarzeń przy użyciu tego źródła.Then create a different source without resource files, and use that source in the WriteEntry method to write strings directly to the event log using that source.

Aby zmienić szczegóły konfiguracji istniejącego źródła, należy usunąć źródło, a następnie utworzyć je przy użyciu nowej konfiguracji.To change the configuration details of an existing source, you must delete the source and then create it with the new configuration. Jeśli inne aplikacje lub składniki używają istniejącego źródła, należy utworzyć nowe źródło ze zaktualizowaną konfiguracją, a nie usunąć istniejące źródło.If other applications or components use the existing source, create a new source with the updated configuration rather than deleting the existing source.

Uwaga

Jeśli źródło zostało już zamapowane na dziennik, a następnie zostało ono ponownie przypisane do nowego dziennika, aby zmiany zaczęły obowiązywać, konieczne jest ponowne uruchomienie komputera.If a source has already been mapped to a log and you remap it to a new log, you must restart the computer for the changes to take effect.

Dotyczy

Zobacz też