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 záznamů. Výchozí hodnota je prázdný řetězec ("").

Atributy

Výjimky

Výsledkem názvu zdroje je cesta ke klíči 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.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

Poznámky

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

Zdroj událostí stačí zadat pouze v případě, že zapisujete do protokolu událostí. Před zápisem položky do protokolu událostí je nutné zaregistrovat zdroj událostí v protokolu událostí jako platný zdroj událostí. Při zápisu položky protokolu systém použije Source vlastnost k vyhledání příslušného protokolu, do kterého se má položka umístit. Pokud čtete protokol událostí, můžete zadat Source, nebo Log a MachineName.

Poznámka

Pokud se připojujete k protokolu na místním počítači, nemusíte zadávat MachineName . Pokud nezadáte MachineName, předpokládá se místní počítač (".").

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

Create nový zdroj událostí během instalace aplikace. Operační systém tak může aktualizovat seznam registrovaných zdrojů událostí a jejich konfiguraci. 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í EventLogInstallermetody nebo CreateEventSource . Abyste mohli vytvořit nový zdroj událostí, musíte mít v 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 se nemůže shodovat s existujícím názvem zdroje nebo s názvem existujícího protokolu událostí. Každý zdroj může zapisovat pouze do jednoho protokolu událostí najednou; Aplikace však 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 hodnotu změníte Source , je hodnota, do které je zaregistrovaná, EventLog uzavřena a všechny popisovače událostí se uvolní.

Zdroj musí být nakonfigurován 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 ho WriteEvent použijte v metodě 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 s novou konfigurací. Pokud existující zdroj používají jiné aplikace nebo komponenty, vytvořte nový zdroj s aktualizovanou konfigurací a neodstraňujte stávající zdroj.

Poznámka

Pokud již byl zdroj namapován na protokol a přemapujete ho na nový protokol, musíte restartovat počítač, aby se změny projevily.

Platí pro

Viz také