如何将常规异常记录到事件日志中?

时间:2010-07-21 07:03:41

标签: exception-handling error-handling event-log

我有一个Windows服务,我需要一个顶级try-catch来捕获任何其他未处理(或冒泡)的异常,将其记录到事件日志然后吞下它以便服务继续运行。但是,我找不到System.Diagnostics.EventLog.WriteEntry的任何重载,它将异常作为参数 - 是不是只能给事件日志提供异常并让它自己解析消息?

1 个答案:

答案 0 :(得分:1)

不幸的是,没有标准的方法可以将Exception传递给内置于.NET框架的Eventlog。

要以最小的开发工作量将事件写入EventLog,您需要编写如下内容:

EventLog myLog = new EventLog();
myLog.Source = "Your Source";
myLog.WriteEntry(exception.ToString(), EventLogEntryType.Error);

但通常你会尝试对你的异常做一些格式化。