2

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

 System.Diagnostics.Trace.TraceError("<" + purpose + "><time>" + DateTime.Now.ToUniversalTime() + "</time><message>" + message + "</message></" + purpose + ">");

并且想知道是否有一种方法可以调用此日志文件并将其显示给用户(以我自己的格式或像“事件查看器”一样直接打开事件日志文件)。

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

4

2 回答 2

4

尝试System.Diagnostics.EventLog

例如,您可以查看应用程序日志中的条目,如下所示

var log = EventLog.GetEventLogs().Where(x => x == "Application").First();
foreach (var entry in log.Entries) {
  // Do something with the entry
}
于 2009-03-04T07:18:54.287 回答
1

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

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

您想在当前功能中缺少的自定义日志查看器中做什么?

于 2009-03-04T07:20:30.570 回答