読み取るログまたは書き込むログの名前を取得または設定します。
名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文
'宣言
Public Property Log As String
'使用
Dim instance As EventLog
Dim value As String
value = instance.Log
instance.Log = value
public string Log { get; set; }
public:
property String^ Log {
String^ get ();
void set (String^ value);
}
/** @property */
public String get_Log ()
/** @property */
public void set_Log (String value)
public function get Log () : String
public function set Log (value : String)
プロパティ値
ログの名前。ログ名には、アプリケーション ログ名、システム ログ名、セキュリティ ログ名、またはカスタム ログ名を指定できます。既定値は空の文字列 ("") です。
解説
既定では、サーバー上に 3 つのログ ファイル (アプリケーション、システム、セキュリティ) があります。アプリケーションおよびサービスは、アプリケーション ログ ファイルを使用します。デバイス ドライバは、システム ログ ファイルを使用します。監査がオンのとき、システムはセキュリティ ログに監査正常終了イベントおよび監査エラー イベントを生成します。Windows サーバー上に Active Directory のような他のアプリケーションがインストールされている場合は、その他の既定ログ ファイルが存在することもあります。さらに、ローカル コンピュータやリモート コンピュータ上にカスタム ログ ファイルを作成できます。カスタム ログを使用すると、既定値であるアプリケーション ログにイベントを書き込む場合に比べてエントリをより詳細に編成できます。
注意
ログ名の長さの制限は 8 文字です。したがって、MyLogSample1 と MyLogSample2 は同じログと見なされます。
イベント ログに書き込む場合、Log プロパティを指定するだけでは不十分です。Source プロパティをイベント ログ リソースに関連付けて特定のログに接続する必要があります。ログを読み取るだけの場合は Source を指定する必要はありませんが、イベント ソースはサーバーのレジストリ内のイベント ログ リソースに関連付けられている必要があります。指定できるのは、読み取る Log の名前と MachineName (サーバー コンピュータ名) だけです。
注意
ログに接続している場合は MachineName を指定する必要はありません。MachineName を指定しない場合は、ローカル コンピュータ (".") であると見なされます。
Source プロパティが指定されていない場合は、Log プロパティを設定するかまたはコンストラクタを使用してLog を明示的に設定しない限り、Log 呼び出しは空の文字列を返します。Source が指定されている場合、Log はソースが登録されているログの名前を返します。
ソースは同時に 1 つのログだけに登録できます。EventLog のインスタンスに Source プロパティが設定されている場合は、先に Source の値を変更するかまたは DeleteEventSource を呼び出さない限り、その EventLog の Log プロパティを変更できません。Log プロパティの設定後に Source プロパティを変更すると、ログ エントリを書き込むときに例外がスローされます。
オペレーティング システムでは、イベントのログがファイルとして保存されます。EventLogInstaller または CreateEventSource を使用して新しいイベント ログを作成する場合、関連するファイルは指定したコンピュータの %SystemRoot%\System32\Config ディレクトリに格納されます。ファイル名は、Log プロパティの最初の 8 文字と ".evt" というファイル名拡張子を付け加えることによって設定されます。
Log プロパティを使用してもログのソースを指定しなければ新しいログは作成できません。CreateEventSource を呼び出し、パラメータとして新しいログ名を渡した後、DeleteEventSource を呼び出すことができます。しかし、通常の目的は、新しいアプリケーション固有のログの作成、新しいアプリケーション固有のログへの書き込み、既存のログからの読み取りなどです。
Log 値が変わると、イベント ログは閉じられ、すべてのイベント ハンドルが解放されます。
ヒント
Log プロパティに存在しないログの名前を設定した場合は、システムによって EventLog がアプリケーション ログに関連付けられますが、指定したログ以外のログが使用されていることは警告されません。
使用例
ローカル コンピュータ上のイベント ログ "NewEventLog" のエントリを読み取る例を次に示します。
Imports System
Imports System.Diagnostics
Imports Microsoft.VisualBasic
Class MySample
Public Shared Sub Main()
Dim myNewLog As New EventLog()
myNewLog.Log = "NewEventLog"
Dim entry As EventLogEntry
For Each entry In myNewLog.Entries
Console.WriteLine((ControlChars.Tab & "Entry: " & entry.Message))
Next entry
End Sub 'Main
End Class 'MySample
using System;
using System.Diagnostics;
class MySample{
public static void Main(){
EventLog myNewLog = new EventLog();
myNewLog.Log = "NewEventLog";
foreach(EventLogEntry entry in myNewLog.Entries){
Console.WriteLine("\tEntry: " + entry.Message);
}
}
}
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
int main()
{
EventLog^ myNewLog = gcnew EventLog;
myNewLog->Log = "NewEventLog";
System::Collections::IEnumerator^ myEnum = myNewLog->Entries->GetEnumerator();
while ( myEnum->MoveNext() )
{
EventLogEntry^ entry = safe_cast<EventLogEntry^>(myEnum->Current);
Console::WriteLine( "\tEntry: {0}", entry->Message );
}
}
import System.*;
import System.Diagnostics.*;
import System.Collections.*;
class MySample
{
public static void main(String[] args)
{
EventLog myNewLog = new EventLog();
myNewLog.set_Log("NewEventLog");
EventLogEntry entry;
IEnumerator objEnum = myNewLog.get_Entries().GetEnumerator();
while (objEnum.MoveNext()) {
entry = (EventLogEntry)objEnum.get_Current();
Console.WriteLine("\tEntry: " + entry.get_Message());
}
} //main
} //MySample
.NET Framework のセキュリティ
- EventLogPermission (コンピュータのイベント ログ情報の書き込み) EventLogPermissionAccess.Write (関連する列挙体)
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
EventLog クラス
EventLog メンバ
System.Diagnostics 名前空間
MachineName
Source
EventLog.Entries プロパティ
Exists
Delete
CreateEventSource
EventLogEntryCollection