Поделиться через


EventLog.Source Свойство

Определение

Возвращает или задает имя источника, регистрируемого в журнале и используемого при записи в журнал событий.

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

Значение свойства

Имя, регистрируемое в журнале событий как имя источника записей. Значение по умолчанию — пустая строка ("").

Атрибуты

Исключения

При таком имени источника длина пути к разделу реестра превышает 254 символа.

Примеры

В следующем примере создается источник MySource , если он еще не существует, и записывается запись в журнал 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

Комментарии

Источник события указывает, что регистрирует событие. Часто это имя приложения или имя подкомпонента приложения, если приложение большое. Приложения и службы должны записывать данные в журнал приложений или пользовательский журнал. Драйверы устройств должны записывать данные в системный журнал.

Указать источник событий нужно только при записи в журнал событий. Перед записью записи в журнал событий необходимо зарегистрировать источник событий в журнале событий в качестве допустимого источника событий. При записи журнала система использует Source свойство для поиска соответствующего журнала, в котором будет размещаться запись. При чтении журнала событий можно указать Sourceлибо , либо Log и MachineName.

Примечание

При подключении MachineName к журналу на локальном компьютере указывать не требуется. Если не указать MachineName, предполагается локальный компьютер (".").

Используйте WriteEvent и WriteEntry для записи событий в журнал событий. Для записи событий необходимо указать источник событий; Необходимо создать и настроить источник событий перед записью первой записи с помощью источника.

Create новый источник событий во время установки приложения. Это позволяет операционной системе обновить список зарегистрированных источников событий и их конфигурацию. Если операционная система не обновила свой список источников событий и вы попытаелись записать событие с новым источником, операция записи завершится ошибкой. Вы можете настроить новый источник с помощью EventLogInstallerили с помощью CreateEventSource метода . Для создания нового источника событий необходимо иметь права администратора на компьютере.

Вы можете создать источник событий для существующего или нового журнала событий. При создании нового источника для нового журнала событий система регистрирует источник для этого журнала, но журнал не создается до тех пор, пока в него не будет записана первая запись.

Источник должен быть уникальным на локальном компьютере; Новое имя источника не может соответствовать существующему имени источника или имени существующего журнала событий. Каждый источник может записывать данные только в один журнал событий одновременно; однако приложение может использовать несколько источников для записи в несколько журналов событий. Например, приложению может потребоваться несколько источников, настроенных для разных журналов событий или разных файлов ресурсов.

При изменении Source значения объект , для которого оно зарегистрировано, EventLog закрывается и освобождаются все дескрипторы событий.

Источник должен быть настроен для записи локализованных записей или для записи прямых строк. Если приложение записывает записи с использованием идентификаторов ресурсов и строковых значений, необходимо зарегистрировать два отдельных источника. Например, настройте один источник с файлами ресурсов, а затем используйте этот источник в методе WriteEvent для записи записей с помощью идентификаторов ресурсов в журнал событий. Затем создайте другой источник без файлов ресурсов и используйте этот источник в методе WriteEntry для записи строк непосредственно в журнал событий с помощью этого источника.

Чтобы изменить сведения о конфигурации существующего источника, необходимо удалить источник, а затем создать его с новой конфигурацией. Если другие приложения или компоненты используют существующий источник, создайте новый источник с обновленной конфигурацией, а не удаляйте существующий источник.

Примечание

Если источник уже сопоставлен с журналом и вы повторно сопоставили его с новым журналом, необходимо перезагрузить компьютер, чтобы изменения вступили в силу.

Применяется к

См. также раздел