EventLog选择以前未创建的源

时间:2014-12-11 10:40:02

标签: c# .net logging

我一直在使用以下基本代码,我从网站上使用System.Diagnostics的EventLog类将消息写入Windows事件日志

class Program
{
    static void Main(string[] args)
    {
        WriteEventLogEntry("This is an entry in the event log");
    }

    private static void WriteEventLogEntry(string message)
    {
        // Create an instance of EventLog
        System.Diagnostics.EventLog eventLog = new System.Diagnostics.EventLog();

        // Check if the event source exists. If not create it.
        if (!System.Diagnostics.EventLog.SourceExists("TestApplication"))
        {
            System.Diagnostics.EventLog.CreateEventSource("TestApplication", "Application");
        }

        // Set the source name for writing log entries.
        eventLog.Source = "TestApplicationNotExisting";

        // Create an event ID to add to the event log
        int eventID = 8;

        // Write an entry to the event log.
        eventLog.WriteEntry(message,
                            System.Diagnostics.EventLogEntryType.Error,
                            eventID);

        // Close the Event Log
        eventLog.Close();
    }
}

我已经调整了上面的代码,以便选择的Source是我以前没有使用CreateEventSource方法创建的。我希望这会抛出一个异常,但它运行得非常好,我在源代码“TestApplicationNotExisting”的事件日志中有一条消息。

为什么这不会引发异常?如果我可以动态选择源,那么CreateEventSource方法有什么意义呢?

0 个答案:

没有答案