我使用通常的方法将错误记录到事件日志中:
System.Diagnostics.Trace.TraceError("<" + purpose + "><time>" + DateTime.Now.ToUniversalTime() + "</time><message>" + message + "</message></" + purpose + ">");
我想知道是否有办法调用此日志文件并为用户显示(以我自己的格式或直接打开事件日志文件,就像'事件查看器'一样)。
我在%SystemRoot%\ System32 \ Winevt \ Logs \ mylog.evtx中找到了该文件,但不确定我是否应该以这种方式接近它。理想情况下,我想模拟事件查看器的功能,但为我的应用程序定制。
答案 0 :(得分:5)
例如,您可以按如下方式查看应用程序日志中的条目
var log = EventLog.GetEventLogs().Where(x => x == "Application").First();
foreach (var entry in log.Entries) {
// Do something with the entry
}
答案 1 :(得分:1)
我没有尝试过查看事件日志中数据在Vista / Win Server 2k8(* .evtx)中的可访问性,但MMC控制台是可扩展的,因此您现在可以编写自己的MMC插件。因此,如果您最终编写了自己的EventVwr.msc版本,那么现在就很容易了。
http://msdn.microsoft.com/en-us/library/ms692759(VS.85).aspx
您希望在当前功能中缺少的自定义日志查看器中执行什么操作?