0

我有一个将通过计划任务运行的控制台应用程序,我想做的是让它写入 catch 块中的事件日志。我试过使用

EventLog.WriteEntry("My App Name","Error Message - " ex.ToString() );

但由于某种原因,它没有写入错误。难道我做错了什么?

谢谢

4

3 回答 3

2

此代码来自 C# 的 MSDN 网站,希望对您有所帮助。

using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource")){
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatingEventSource");
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.");

    }
}
于 2009-08-18T14:33:09.697 回答
1

您需要确保事件源存在,例如:

if (!EventLog.SourceExists("MySource"))
    EventLog.CreateEventSource("MySource","Application");

请参阅http://support.microsoft.com/kb/307024

于 2009-08-18T14:34:17.060 回答
0

需要注意的一点是,调用 EventLog.CreateEventSource 时有时会有一小段延迟,因此在创建后立即尝试访问创建的 EventSource 时应注意这一点。

于 2009-11-25T15:58:10.350 回答