事件日志(事件日志创建事件)

时间:2014-10-01 19:49:14

标签: c# events

我想知道在创建系统事件日志时,如何在 C#中捕获事件。另外,我想知道如何使用 C#从Windows事件日志获取仅错误日志。 我有以下代码,但它只返回所有日志。我只需要ERROR日志:

System.Diagnostics.EventLog eventLog1 = new System.Diagnostics.EventLog("Application", Environment.MachineName);

            int i = 0;
            foreach (System.Diagnostics.EventLogEntry entry in eventLog1.Entries)
            {
                Label1.Text += "Log is : " + entry.Message + Environment.NewLine;

            }

1 个答案:

答案 0 :(得分:1)

您可以使用CreateEventSource类的EventLog静态方法来创建事件日志,如

EventLog.CreateEventSource("MyApp","Application");
EventLog命名空间中存在

System.Diagnostics个类。

您可以使用WriteEntry()方法写入事件日志。 EventLogEntryType枚举可用于指定要记录的事件类型。下面的例子

EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning,  234);

请参阅How to write to an event log by using Visual C#

如果您正在寻找只读ERROR级日志,那么您可以使用以下代码块。您只需要检查事件日志条目的EntryType,然后相应地打印/显示。

    static void Main(string[] args)
    {
        EventLog el = new EventLog("Application", "MY-PC");
        foreach (EventLogEntry entry in el.Entries)
        {
            if (entry.EntryType == EventLogEntryType.Error)
            {
                Console.WriteLine(entry.Message);
            }
        }
    }