EventLog.Source EventLog.Source EventLog.Source EventLog.Source Property

定義

イベント ログを書き込むときに登録して使用するソース名を取得または設定します。Gets or sets the source name to register and use when writing to the event log.

public:
 property System::String ^ Source { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.SettingsBindable(true)]
public string Source { get; set; }
member this.Source : string with get, set
Public Property Source As String

プロパティ値

エントリのソースとしてイベント ログに登録される名前。The name registered with the event log as a source of entries. 既定値は、空の文字列 ("") です。The default is an empty string ("").

例外

ソース名は、254 文字を超えるレジストリ キーのパスになります。The source name results in a registry key path longer than 254 characters.

次の例では、 MySourceソースがまだ存在しない場合は作成し、イベントログMyNewLogにエントリを書き込みます。The following example creates the source MySource if it does not already exist, and writes an entry to the event log 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 ' Main
End Class ' MySample

注釈

イベントソースは、イベントをログに記録するかどうかを示します。The event source indicates what logs the event. 多くの場合、アプリケーションの名前、またはアプリケーションのサブコンポーネントの名前 (アプリケーションのサイズが大きい場合) です。It is often the name of the application, or the name of a subcomponent of the application, if the application is large. アプリケーションとサービスは、アプリケーションログまたはカスタムログに書き込む必要があります。Applications and services should write to the Application log or a custom log. デバイスドライバーは、システムログに書き込む必要があります。Device drivers should write to the System log.

イベントログに書き込む場合にのみ、イベントソースを指定する必要があります。You only need to specify an event source if you are writing to an event log. イベントログにエントリを書き込む前に、イベントソースを有効なイベントのソースとしてイベントログに登録する必要があります。Before writing an entry to an event log, you must register the event source with the event log as a valid source of events. ログエントリを作成すると、 Sourceプロパティを使用して、エントリを配置する適切なログが検索されます。When you write a log entry, the system uses the Source property to find the appropriate log in which to place your entry. イベントログを読み取る場合は、、、 Source LogおよびMachineNameのいずれかを指定できます。If you are reading the event log, you can either specify the Source, or a Log and MachineName.

注意

ローカルコンピューター上のログに接続MachineNameしている場合は、を指定する必要はありません。You are not required to specify the MachineName if you are connecting to a log on the local computer. を指定MachineNameしない場合は、ローカルコンピューター (".") が使用されます。If you do not specify the MachineName, the local computer (".") is assumed.

イベントWriteEventログWriteEntryにイベントを書き込むには、およびを使用します。Use WriteEvent and WriteEntry to write events to an event log. イベントを書き込むには、イベントソースを指定する必要があります。ソースとの最初のエントリを書き込む前に、イベントソースを作成して構成する必要があります。You must specify an event source to write events; you must create and configure the event source before writing the first entry with the source.

アプリケーションのインストール時に新しいイベントソースを作成します。Create the new event source during the installation of your application. これにより、オペレーティングシステムが登録済みのイベントソースとその構成の一覧を更新できるようになります。This allows time for the operating system to refresh its list of registered event sources and their configuration. オペレーティングシステムがイベントソースの一覧を更新しておらず、新しいソースでイベントを作成しようとすると、書き込み操作は失敗します。If the operating system has not refreshed its list of event sources, and you attempt to write an event with the new source, the write operation will fail. EventLogInstallerを使用するか、 CreateEventSourceメソッドを使用して、新しいソースを構成できます。You can configure a new source using an EventLogInstaller, or using the CreateEventSource method. 新しいイベントソースを作成するには、コンピューターの管理者権限が必要です。You must have administrative rights on the computer to create a new event source.

既存のイベントログまたは新しいイベントログのイベントソースを作成できます。You can create an event source for an existing event log or a new event log. 新しいイベントログ用に新しいソースを作成すると、そのログのソースが登録されますが、最初のエントリが書き込まれるまでログは作成されません。When you create a new source for a new event log, the system registers the source for that log, but the log is not created until the first entry is written to it.

ソースは、ローカルコンピューター上で一意である必要があります。新しいソース名は、既存のソース名または既存のイベントログ名と一致することはできません。The source must be unique on the local computer; a new source name cannot match an existing source name or an existing event log name. 各ソースは一度に1つのイベントログにのみ書き込むことができます。ただし、アプリケーションで複数のソースを使用して複数のイベントログに書き込むことができます。Each source can write to only one event log at a time; however, your application can use multiple sources to write to multiple event logs. たとえば、アプリケーションによっては、異なるイベントログまたは異なるリソースファイル用に複数のソースが構成されている必要があります。For example, your application might require multiple sources configured for different event logs or different resource files.

Source値を変更すると、登録EventLog先のが閉じ、すべてのイベントハンドルが解放されます。If you change the Source value, the EventLog to which it is registered is closed and all event handles are released.

ソースは、ローカライズされたエントリを書き込むか、または直接文字列を書き込むために構成する必要があります。The source must be configured either for writing localized entries or for writing direct strings. アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2つの異なるソースを登録する必要があります。If your application writes entries using both resource identifiers and string values, you must register two separate sources. たとえば、リソースファイルを使用して1つのソースを構成し、そのWriteEventソースをメソッドで使用して、リソース識別子を使用してエントリをイベントログに書き込みます。For example, configure one source with resource files, and then use that source in the WriteEvent method to write entries using resource identifiers to the event log. 次に、リソースファイルを含まない別のソースを作成し、 WriteEntryそのソースをメソッドで使用して、そのソースを使用して、イベントログに直接文字列を書き込みます。Then create a different source without resource files, and use that source in the WriteEntry method to write strings directly to the event log using that source.

既存のソースの構成の詳細を変更するには、ソースを削除してから、新しい構成を使用して作成する必要があります。To change the configuration details of an existing source, you must delete the source and then create it with the new configuration. 他のアプリケーションまたはコンポーネントが既存のソースを使用する場合は、既存のソースを削除するのではなく、更新された構成で新しいソースを作成します。If other applications or components use the existing source, create a new source with the updated configuration rather than deleting the existing source.

注意

ソースが既にログにマップされていて、新しいログに再マップする場合は、変更を有効にするためにコンピューターを再起動する必要があります。If a source has already been mapped to a log and you remap it to a new log, you must restart the computer for the changes to take effect.

セキュリティ

EventLogPermission
を参照してください。for writing the event log information on the computer. 関連付けられた列挙型:WriteAssociated enumeration: Write

適用対象

こちらもご覧ください