指定した Source を、 machineName で指定されるコンピュータ上のログにエントリを書き込むための有効なイベント ソースとして使用し、アプリケーションを設定します。このメソッドを使用して、指定したコンピュータ上に新しいカスタム ログを作成することもできます。
Overloads Public Shared Sub CreateEventSource( _
ByVal source As String, _ ByVal logName As String, _ ByVal machineName As String _)
[C#]
public static void CreateEventSource(stringsource,stringlogName,stringmachineName);
[C++]
public: static void CreateEventSource(String* source,String* logName,String* machineName);
[JScript]
public static function CreateEventSource(
source : String,logName : String,machineName : String);
パラメータ
- source
アプリケーションを指定されたコンピュータに登録するために使用されるソース。 - logName
ソースのエントリが書き込まれるログの名前。指定できる値は、アプリケーション、セキュリティ、システム、またはカスタム イベント ログです。値を指定しなかった場合、 logName は既定によりアプリケーションに設定されます。 - machineName
このイベント ソースを登録するコンピュータの名前。ローカル コンピュータの場合は "."。
例外
| 例外の種類 | 条件 |
|---|---|
| ArgumentException | machineName パラメータが無効です。 |
| ArgumentException | source パラメータが null 参照 (Visual Basic では Nothing) または空の文字列 ("") です。 |
| ArgumentException | 指定したコンピュータ上に既にソースが存在するため、ソースを登録できません。 |
| Exception | アプリケーションが、指定したコンピュータ上のソースのレジストリ キーを開くことができません。 |
解説
指定したコンピュータ上にカスタム ログを作成したり、既存のログに Source を登録したりするには、このオーバーロードを使用します。
CreateEventSource を呼び出したときに logname が null 参照 (Visual Basic では Nothing) であった場合は、既定によりアプリケーション ログが使用されます。指定したコンピュータ上にログが存在しない場合は、システムによってカスタム ログが作成され、アプリケーションがそのログの Source ソースとして登録されます。
イベント ログに書き込む場合に必要なのは、イベント ソースを作成することだけです。イベント ログにエントリを書き込む前に、イベント ソースを有効なイベントのソースとしてイベント ログに登録する必要があります。 WriteEntry を使用してログのエントリを書き込むときに、システムは、 Source を使用して、エントリを配置する適切なログを探します。イベント ログを読み取る場合は、 Source を指定するか、または Log と MachineName を指定します。
source パラメータには任意の文字列を指定できますが、通常はアプリケーションまたはアプリケーションのコンポーネントの名前を指定します。ソースはローカル コンピュータ上で一意である必要があります。ただし、1 つのイベント ログに同時に複数の異なるソースが書き込みを行うことができます。
メモ ログに既にマッピングされているソースを別の新しいログにマッピングする場合、この変更を有効にするには、コンピュータを再起動する必要があります。
このメソッドの呼び出しは省略できます。 CreateEventSource を呼び出さない場合は、初回の WriteEntry 呼び出しの時に呼び出されます。
使用例
[Visual Basic, C#, C++] コンピュータ "MyServer" 上のイベント ログ "MyNewLog" にエントリを書き込み、ソースがまだ存在しない場合はソース "MySource" を作成する例を次に示します。
[Visual Basic, C#, C++] メモ コード内でイベント ソースを作成する必要はありません。 Source プロパティで設定したソースが存在しない場合、 WriteEntry メソッドは、イベント ログに書き込む前に、そのソースを作成します。 EventLog インスタンスの Log プロパティを指定しない場合、ログは既定によりアプリケーション ログになります。
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", "MyServer") Then
EventLog.CreateEventSource("MySource", "MyNewLog", "MyServer")
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", "MyServer")){
EventLog.CreateEventSource("MySource", "MyNewLog", "MyServer");
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", S"MyServer")){
EventLog::CreateEventSource(S"MySource", S"MyNewLog", S"MyServer");
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 セキュリティ:
- EventLogPermission (コンピュータ上のイベント ログ情報を参照するのに必要なアクセス許可)
- SecurityPermission (完全信頼を指定して EventLog のメンバを呼び出すためのアクセス許可) PermissionState.Unrestricted (関連する列挙体)
参照
EventLog クラス | EventLog メンバ | System.Diagnostics 名前空間 | EventLog.CreateEventSource オーバーロードの一覧 | DeleteEventSource | SourceExists | MachineName | Source | Log | Delete