如何以编程方式打开事件日志?

我使用通常的方法将错误记录到事件日志中:

System.Diagnostics.Trace.TraceError("" + DateTime.Now.ToUniversalTime() + "" + message + ""); 

我想知道是否有办法调用这个日志文件并为用户显示它(以我自己的格式或直接打开事件日志文件’事件查看器’)。

我在%SystemRoot%\ System32 \ Winevt \ Logs \ mylog.evtx中找到了该文件,但不确定我是否应该以这种方式接近它。 理想情况下,我想模拟事件查看器的function,但为我的应用程序定制。

尝试System.Diagnostics.EventLog

例如,您可以按如下方式查看应用程序日志中的条目

 var log = EventLog.GetEventLogs().Where(x => x == "Application").First(); foreach (var entry in log.Entries) { // Do something with the entry } 

我还没有尝试过查看事件日志中数据在Vista / Win Server 2k8(* .evtx)中的可访问性,但MMC控制台是可扩展的,因此您现在可以编写自己的MMC插件。 因此,如果您最终编写了自己的EventVwr.msc版本,那么现在就很容易了。

http://msdn.microsoft.com/en-us/library/ms692759(VS.85).aspx

您想要在当前function中缺少的自定义日志查看器中执行什么操作?