EventLog.Source Właściwość

Definicja

Pobiera lub ustawia nazwę źródła do zarejestrowania i użycia podczas zapisywania w dzienniku zdarzeń.

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.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
Public Property Source As String

Wartość właściwości

Nazwa zarejestrowana w dzienniku zdarzeń jako źródło wpisów. Wartością domyślną jest ciąg pusty ("").

Atrybuty

Wyjątki

Nazwa źródła powoduje, że ścieżka klucza rejestru jest dłuższa niż 254 znaki.

Przykłady

Poniższy przykład tworzy źródło MySource , jeśli jeszcze nie istnieje, i zapisuje wpis w dzienniku MyNewLogzdarzeń .

#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 zdarzeń wskazuje, co rejestruje zdarzenie. Często jest to nazwa aplikacji lub nazwa podskładu aplikacji, jeśli aplikacja jest duża. Aplikacje i usługi powinny zapisywać w dzienniku aplikacji lub dzienniku niestandardowym. Sterowniki urządzeń powinny zapisywać w dzienniku systemu.

Wystarczy określić źródło zdarzeń, jeśli zapisujesz je w dzienniku zdarzeń. Przed zapisaniem wpisu w dzienniku zdarzeń należy zarejestrować źródło zdarzeń w dzienniku zdarzeń jako prawidłowe źródło zdarzeń. Podczas pisania wpisu dziennika system używa Source właściwości , aby znaleźć odpowiedni dziennik, w którym ma być umieszczany wpis. Jeśli czytasz dziennik zdarzeń, możesz określić wartość Source, lub i LogMachineName.

Uwaga

Nie musisz określać, MachineName czy nawiązujesz połączenie z dziennikiem na komputerze lokalnym. Jeśli nie określisz parametru MachineName, zakłada się, że komputer lokalny (".").

Użyj WriteEvent polecenia i WriteEntry , aby zapisać zdarzenia w dzienniku zdarzeń. Należy określić źródło zdarzeń do zapisywania zdarzeń; Należy utworzyć i skonfigurować źródło zdarzeń przed zapisaniem pierwszego wpisu ze źródłem.

Twórca nowe źródło zdarzeń podczas instalacji aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych źródeł zdarzeń i ich konfigurację. Jeśli system operacyjny nie odświeżył listy źródeł zdarzeń i spróbujesz napisać zdarzenie przy użyciu nowego źródła, operacja zapisu zakończy się niepowodzeniem. Nowe źródło można skonfigurować przy użyciu metody EventLogInstallerlub metody CreateEventSource . Aby utworzyć nowe źródło zdarzeń, musisz mieć uprawnienia administracyjne na komputerze.

Możesz utworzyć źródło zdarzeń dla istniejącego dziennika zdarzeń lub nowego dziennika zdarzeń. Podczas tworzenia nowego źródła dla nowego dziennika zdarzeń system rejestruje źródło dla tego dziennika, ale dziennik nie zostanie utworzony, dopóki pierwszy wpis nie zostanie do niego zapisany.

Źródło musi być unikatowe na komputerze lokalnym; Nowa nazwa źródła nie może być zgodna z istniejącą nazwą źródła lub istniejącą nazwą dziennika zdarzeń. Każde źródło może zapisywać tylko jeden dziennik zdarzeń jednocześnie; Jednak aplikacja może używać wielu źródeł do zapisywania w wielu dziennikach zdarzeń. Na przykład aplikacja może wymagać wielu źródeł skonfigurowanych dla różnych dzienników zdarzeń lub różnych plików zasobów.

Jeśli zmienisz Source wartość, do której jest ona zarejestrowana, EventLog zostanie zamknięta, a wszystkie dojścia zdarzeń zostaną zwolnione.

Źródło musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Jeśli aplikacja zapisuje wpisy przy użyciu zarówno identyfikatorów zasobów, jak i wartości ciągów, musisz zarejestrować dwa oddzielne źródła. 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 w dzienniku zdarzeń. Następnie utwórz inne źródło bez plików zasobów i użyj tego źródła w metodzie , aby zapisywać ciągi bezpośrednio w WriteEntry dzienniku zdarzeń przy użyciu tego źródła.

Aby zmienić szczegóły konfiguracji istniejącego źródła, musisz usunąć źródło, a następnie utworzyć je przy użyciu nowej konfiguracji. Jeśli inne aplikacje lub składniki używają istniejącego źródła, utwórz nowe źródło ze zaktualizowaną konfiguracją, a nie usunięcie istniejącego źródła.

Uwaga

Jeśli źródło zostało już zamapowane na dziennik i mapujesz je ponownie na nowy dziennik, musisz ponownie uruchomić komputer, aby zmiany zaczęły obowiązywać.

Dotyczy

Zobacz też