Aracılığıyla paylaş


EventLog.Source Özellik

Tanım

Kaydedilecek ve olay günlüğüne yazarken kullanılacak kaynak adını alır veya ayarlar.

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

Özellik Değeri

Giriş kaynağı olarak olay günlüğüyle kaydedilen ad. Varsayılan değer, boş dizedir ("").

Öznitelikler

Özel durumlar

Kaynak adı, kayıt defteri anahtarı yolunun 254 karakterden uzun olmasına neden olur.

Örnekler

Aşağıdaki örnek, henüz yoksa kaynağı MySource oluşturur ve olay günlüğüne MyNewLogbir giriş yazar.

#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

Açıklamalar

Olay kaynağı, olayı neyin günlüğe kaydeddiğini gösterir. Uygulama büyükse genellikle uygulamanın adı veya uygulamanın alt bileşen adıdır. Uygulamalar ve hizmetler Uygulama günlüğüne veya özel bir günlüğe yazmalıdır. Cihaz sürücüleri Sistem günlüğüne yazmalıdır.

Yalnızca bir olay günlüğüne yazıyorsanız bir olay kaynağı belirtmeniz gerekir. Bir olay günlüğüne giriş yazmadan önce, olay kaynağını olay günlüğüyle geçerli bir olay kaynağı olarak kaydetmeniz gerekir. Bir günlük girdisi yazdığınızda sistem, girişinizin yerleştirildiği uygun günlüğü bulmak için özelliğini kullanır Source . Olay günlüğünü okuyorsanız , veya ve LogMachineNamebelirtebilirsinizSource.

Not

Yerel bilgisayardaki bir günlüğe bağlanıyorsanız öğesini belirtmeniz MachineName gerekmez. belirtmezseniz MachineName, yerel bilgisayar (".") varsayılır.

Olay günlüğüne olay yazmak için ve WriteEntry kullanınWriteEvent. Olayları yazmak için bir olay kaynağı belirtmeniz gerekir; kaynakla ilk girdiyi yazmadan önce olay kaynağını oluşturmanız ve yapılandırmanız gerekir.

Uygulamanızın yüklenmesi sırasında yeni olay kaynağını İçerik Oluşturucu. Bu, işletim sisteminin kayıtlı olay kaynakları listesini ve bunların yapılandırmasını yenilemesine izin verir. İşletim sistemi olay kaynakları listesini yenilemediyse ve yeni kaynakla bir olay yazmaya çalışırsanız, yazma işlemi başarısız olur. kullanarak veya yöntemini kullanarak CreateEventSource yeni bir EventLogInstallerkaynak yapılandırabilirsiniz. Yeni bir olay kaynağı oluşturmak için bilgisayarda yönetici haklarına sahip olmanız gerekir.

Mevcut bir olay günlüğü veya yeni bir olay günlüğü için olay kaynağı oluşturabilirsiniz. Yeni bir olay günlüğü için yeni bir kaynak oluşturduğunuzda, sistem bu günlük için kaynağı kaydeder, ancak ilk girdi ona yazılana kadar günlük oluşturulmaz.

Kaynak yerel bilgisayarda benzersiz olmalıdır; yeni bir kaynak adı, var olan bir kaynak adıyla veya var olan bir olay günlüğü adıyla eşleşemez. Her kaynak aynı anda yalnızca bir olay günlüğüne yazabilir; ancak uygulamanız birden çok olay günlüğüne yazmak için birden çok kaynak kullanabilir. Örneğin, uygulamanız farklı olay günlükleri veya farklı kaynak dosyaları için yapılandırılmış birden çok kaynak gerektirebilir.

Değeri değiştirirseniz Source , EventLog kaydedildiği değer kapatılır ve tüm olay tanıtıcıları serbest bırakılır.

Kaynak, yerelleştirilmiş girdiler yazmak veya doğrudan dizeler yazmak için yapılandırılmalıdır. Uygulamanız hem kaynak tanımlayıcılarını hem de dize değerlerini kullanarak girdi yazıyorsa, iki ayrı kaynağı kaydetmeniz gerekir. Örneğin, kaynak dosyalarıyla bir kaynak yapılandırın ve ardından olay günlüğüne kaynak tanımlayıcılarını kullanarak girdi yazmak için yönteminde bu kaynağı WriteEvent kullanın. Ardından kaynak dosyaları olmadan farklı bir kaynak oluşturun ve bu kaynağı kullanarak dizeleri doğrudan olay günlüğüne yazmak için yönteminde WriteEntry kullanın.

Var olan bir kaynağın yapılandırma ayrıntılarını değiştirmek için kaynağı silmeniz ve ardından yeni yapılandırmayla oluşturmanız gerekir. Diğer uygulamalar veya bileşenler mevcut kaynağı kullanıyorsa, mevcut kaynağı silmek yerine güncelleştirilmiş yapılandırmayla yeni bir kaynak oluşturun.

Not

Bir kaynak zaten bir günlüğe eşlenmişse ve bunu yeni bir günlükle yeniden eşlerseniz, değişikliklerin etkili olması için bilgisayarı yeniden başlatmanız gerekir.

Şunlara uygulanır

Ayrıca bkz.