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