イベント ログを書き込むときに登録して使用するソース名を取得または設定します。
Public Property Source As String
[C#]
public string Source {get; set;}
[C++]
public: __property String* get_Source();public: __property void set_Source(String*);
[JScript]
public function get Source() : String;public function set Source(String);
プロパティ値
エントリのソースとしてイベント ログに登録される名前。既定値は空の文字列 ("") です。
解説
イベント ソースは、何によってイベントがログに記録されるかを示します。通常はアプリケーションの名前か、アプリケーションのサブコンポーネントの名前 (アプリケーションが大きい場合) を指定します。アプリケーションおよびサービスは、アプリケーション ログまたはカスタム ログに書き込みます。デバイス ドライバは、システム ログに書き込みます。
イベント ログに書き込む場合は、イベント ソースを指定するかまたは作成し、 Source プロパティを適切に設定する必要があります。同時に 1 つのログだけに書き込むことができる新しいソースを作成すると、有効なエントリ ソースとしてアプリケーションがイベント ログに登録されます。 Source プロパティには任意の文字列を設定できますが、指定した名前はコンピュータ上の他のソースでは使用できません。重複する Source 値を作成しようとすると、例外がスローされます。ただし、1 つのイベント ログに複数の異なるソースが書き込みを行うことは可能です。
メモ ログに既にマッピングされているソースを別の新しいログにマッピングする場合、この変更を有効にするには、コンピュータを再起動する必要があります。
ログを読み取るだけのときは Source プロパティを指定する必要はありません。 EventLog に指定できるのは、 Log 名と MachineName (サーバー コンピュータ名) だけです。どちらの場合も、 Entries メンバには自動的にイベント ログのエントリ リストが設定されます。
メモ ログに接続している場合は MachineName を指定する必要はありません。 MachineName を指定しない場合は、ローカル コンピュータ (".") であると見なされます。
イベント ログを読み取るだけの場合は、 Source 値が空の文字列でもかまいません。 Source 値が変わると、ソースの登録先である EventLog は閉じられ、すべてのイベント ハンドルが解放されます。
CreateEventSource を呼び出すときにログ名を指定しなかった場合は、アプリケーション ログにソースが登録されます。存在しないログの名前を指定した場合は、システムによってカスタム イベント ログが作成され、そのログに Source が登録されます。
WriteEntry を使用してログ エントリを書き込むときに、システムは指定されたソースを使用して、エントリを配置する適切なログを探します。
メモ 先に EventLog に Source を登録せずに WriteEntry を呼び出した場合は、このメソッドによってソースが登録されます。
使用例
[Visual Basic, C#, C++] ローカル コンピュータのイベント ログ "MyNewLog" にエントリを書き込み、ソースがまだ存在しない場合はソース "MySource" を作成する例を次に示します。
[Visual Basic, C#, C++] メモ コード内でイベント ソースを作成する必要はありません。 Source プロパティで設定したソースがまだ存在しない場合、 WriteEntry メソッドは、イベント ログに書き込む前に、そのソースを作成します。 EventLog の Log プロパティを設定しないと、既定によりアプリケーション ログが使用されます。
Option Explicit
Option Strict
Imports System
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
[C#]
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")){
EventLog.CreateEventSource("MySource", "MyNewLog");
Console.WriteLine("CreatingEventSource");
}
// 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.");
}
}
[C++]
#using <mscorlib.dll>
#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(S"MySource")){
EventLog::CreateEventSource(S"MySource", S"MyNewLog");
Console::WriteLine(S"CreatingEventSource");
}
// Create an EventLog instance and assign its source.
EventLog* myLog = new EventLog();
myLog->Source = S"MySource";
// Write an informational entry to the event log.
myLog->WriteEntry(S"Writing to event log.");
Console::WriteLine(S"Message written to event log.");
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- SecurityPermission (完全信頼を指定して EventLog のメンバを呼び出すためのアクセス許可) PermissionState.Unrestricted (関連する列挙体)
参照
EventLog クラス | EventLog メンバ | System.Diagnostics 名前空間 | Log | MachineName | CreateEventSource | DeleteEventSource | SourceExists