次の方法で共有


EventLog.Log プロパティ

定義

読み取りまたは書き込みを行うログの名前を取得または設定します。

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

プロパティ値

ログの名前。 アプリケーション、システム、セキュリティ、またはカスタム ログ名を指定できます。 既定値は空の文字列 ("") です。

属性

次の例では、ローカル コンピューター上のイベント ログ "NewEventLog" のエントリを読み取ります。

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);
        }
    }
}
Imports System.Diagnostics

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
End Class

注釈

サーバーには、アプリケーション、システム、セキュリティの 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を呼び出したりせずに、そのEventLogLog プロパティを変更することはできません。 Source プロパティの設定後に Log プロパティを変更すると、ログ エントリを書き込むと例外がスローされます。

オペレーティング システムは、イベント ログをファイルとして格納します。 EventLogInstallerまたはCreateEventSourceを使用して新しいイベント ログを作成すると、関連付けられているファイルは、指定したコンピューターの %SystemRoot%\System32\Config ディレクトリに格納されます。 ファイル名は、 Log プロパティの最初の 8 文字に ".evt" ファイル名拡張子を付加することによって設定されます。

Log プロパティだけを使用して新しいログを作成することはできません (ログのソースを指定しない)。 CreateEventSourceを呼び出し、新しいログ名をパラメーターとして渡してから、DeleteEventSourceを呼び出すことができます。 ただし、意図は通常、新しいアプリケーション固有のログを作成 (およびエントリの書き込み) するか、既存のログから読み取るかのいずれかです。

Log値が変更されると、イベント ログが閉じられ、すべてのイベント ハンドルが解放されます。

注意事項

Log プロパティを存在しないログの名前に設定すると、システムはEventLogをアプリケーション ログにアタッチしますが、指定したログ以外のログが使用されていることを警告しません。

適用対象

こちらもご覧ください