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

注解

服务器上默认存在三个日志文件:应用程序、系统和安全。 应用程序和服务使用应用程序日志文件。 设备驱动程序使用系统日志文件。 启用审核时,系统会在安全日志中生成成功和失败审核事件。 如果安装了其他应用程序(如 Windows 服务器上的 Active Directory),则可能还有其他默认日志文件。 此外,还可以在本地或远程计算机上创建自定义日志文件。 自定义日志有助于以比组件将事件写入默认应用程序日志时更详细的方式组织条目。

注意

日志名称限制为 8 个字符。 根据系统,MyLogSample1 和 MyLogSample2 是同一日志。

如果写入事件日志,则不足以指定 Log 属性。 必须将属性 Source 与事件日志资源相关联,才能将其连接到特定日志。 如果仅从日志读取数据,则无需指定 Source ,但事件源必须与服务器注册表中的事件日志资源相关联。 只能指定 Log 名称和 MachineName (服务器计算机名称) 从中读取。

注意

如果要连接到日志, MachineName 则不需要指定 。 如果未指定 , MachineName则本地计算机 (“。”假定 ) 。

Source如果未指定属性,则对 的调用Log将返回一个空字符串(如果Log尚未通过设置属性或通过构造函数) 显式设置 Log ()。 Source如果已指定 ,Log则返回该源注册到的日志的名称。

一个源一次只能注册到一个日志。 Source如果为 的实例EventLog设置了 属性,则如果不更改 EventLogLog 的值或首先调用 DeleteEventSource ,则无法更改该 实例的属性Source。 如果在设置属性后Source更改Log属性,写入日志条目将引发异常。

操作系统将事件日志存储为文件。 使用 EventLogInstallerCreateEventSource 创建新的事件日志时,关联的文件存储在指定计算机上的 %SystemRoot%\System32\Config 目录中。 通过将属性的前 8 个字符 Log 追加“.evt”文件扩展名来设置文件名。

如果不为日志) 指定源, Log 则不能仅使用 属性 (创建新日志。 可以调用 CreateEventSource,以参数的形式传入新的日志名称,然后调用 DeleteEventSource。 但是,其目的通常是创建 (并将条目写入到) 新的特定于应用程序的日志,或者从现有日志中读取。

Log如果值发生更改,则会关闭事件日志,并释放所有事件处理程序。

注意

如果将 属性设置为 Log 不存在的日志的名称,系统会将 EventLog 附加到应用程序日志,但不会警告你它使用的日志不是指定的日志。

适用于

另请参阅