我有一个控制台应用程序,它将运行一个计划任务,而我想要做的是将它写入catch块中的事件日志。我尝试过使用
EventLog.WriteEntry("My App Name","Error Message - " ex.ToString() );
但由于某种原因,它没有写错误。 我做错了吗?
由于
答案 0 :(得分:2)
此代码来自MSDN网站的C#,希望对您有帮助。
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.");
}
}
答案 1 :(得分:1)
您需要确保事件源存在,例如:
if (!EventLog.SourceExists("MySource"))
EventLog.CreateEventSource("MySource","Application");
答案 2 :(得分:0)
有一点需要注意的是,调用EventLog.CreateEventSource时有时会有一点延迟,因此在创建后立即尝试访问创建的EventSource时应注意这一点。