Sdílet prostřednictvím


EventLog.Source Vlastnost

Definice

Získá nebo nastaví název zdroje pro registraci a použití při zápisu do protokolu událostí.

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

Hodnota vlastnosti

Název zaregistrovaný v protokolu událostí jako zdroj položek. Výchozí hodnota je prázdný řetězec ("").

Atributy

Výjimky

Výsledkem názvu zdroje je cesta klíče registru delší než 254 znaků.

Příklady

Následující příklad vytvoří zdroj MySource , pokud ještě neexistuje, a zapíše položku do protokolu MyNewLogudálostí .

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

Poznámky

Zdroj události označuje, co událost protokoluje. Často se jedná o název aplikace nebo název podkomponentu aplikace, pokud je aplikace velká. Aplikace a služby by měly zapisovat do protokolu aplikace nebo do vlastního protokolu. Ovladače zařízení by se měly zapisovat do systémového protokolu.

Zdroj událostí stačí zadat jenom v případě, že píšete do protokolu událostí. Před zápisem položky do protokolu událostí musíte zdroj událostí zaregistrovat v protokolu událostí jako platný zdroj událostí. Když zapíšete položku protokolu, systém použije Source vlastnost k vyhledání příslušného protokolu, do kterého má být položka vložena. Pokud čtete protokol událostí, můžete buď zadat Source, nebo Log a a MachineName.

Poznámka:

Pokud se připojujete k přihlášení k místnímu počítači, nemusíte zadávat MachineName . Pokud neurčíte MachineName, předpokládá se místní počítač (".").

Slouží WriteEvent k WriteEntry zápisu událostí do protokolu událostí a k zápisu událostí. Je nutné zadat zdroj událostí pro zápis událostí; Před zápisem první položky se zdrojem musíte vytvořit a nakonfigurovat zdroj událostí.

Během instalace aplikace vytvořte nový zdroj událostí. Díky tomu může operační systém aktualizovat seznam registrovaných zdrojů událostí a jejich konfigurace. Pokud operační systém neaktualizuje seznam zdrojů událostí a pokusíte se napsat událost s novým zdrojem, operace zápisu selže. Nový zdroj můžete nakonfigurovat pomocí metody EventLogInstallernebo metody CreateEventSource . Abyste mohli vytvořit nový zdroj událostí, musíte mít na počítači oprávnění správce.

Můžete vytvořit zdroj událostí pro existující protokol událostí nebo nový protokol událostí. Když vytvoříte nový zdroj pro nový protokol událostí, systém zaregistruje zdroj pro tento protokol, ale protokol se nevytvoří, dokud se do něj nezapíše první položka.

Zdroj musí být v místním počítači jedinečný; Nový název zdroje nemůže odpovídat existujícímu názvu zdroje nebo existujícímu názvu protokolu událostí. Každý zdroj může najednou zapisovat pouze do jednoho protokolu událostí; Aplikace ale může k zápisu do více protokolů událostí použít více zdrojů. Vaše aplikace může například vyžadovat více zdrojů nakonfigurovaných pro různé protokoly událostí nebo různé soubory prostředků.

Pokud změníte Source hodnotu, je EventLog zaregistrovaná hodnota uzavřena a všechny obslužné rutiny událostí se uvolní.

Zdroj musí být nakonfigurován buď pro zápis lokalizovaných položek, nebo pro zápis přímých řetězců. Pokud vaše aplikace zapisuje položky pomocí identifikátorů prostředků i řetězcových hodnot, musíte zaregistrovat dva samostatné zdroje. Například nakonfigurujte jeden zdroj se soubory prostředků a pak tento zdroj v WriteEvent metodě použijte k zápisu položek pomocí identifikátorů prostředků do protokolu událostí. Pak vytvořte jiný zdroj bez souborů prostředků a použijte tento zdroj v WriteEntry metodě k zápisu řetězců přímo do protokolu událostí pomocí daného zdroje.

Pokud chcete změnit podrobnosti konfigurace existujícího zdroje, musíte zdroj odstranit a pak ho vytvořit pomocí nové konfigurace. Pokud existující zdroj používají jiné aplikace nebo komponenty, vytvořte nový zdroj s aktualizovanou konfigurací místo odstranění existujícího zdroje.

Poznámka:

Pokud už byl zdroj namapován na protokol a znovu ho namapujete na nový protokol, je nutné restartovat počítač, aby se změny projevily.

Platí pro

Viz také