Я регистрирую ошибки в журнале событий с помощью обычного:
System.Diagnostics.Trace.TraceError("<" + purpose + "><time>" + DateTime.Now.ToUniversalTime() + "</time><message>" + message + "</message></" + purpose + ">");
и мне интересно, есть ли способ вызвать этот файл журнала и отобразить его для пользователя (либо в моем собственном формате, либо путем открытия файла журнала событий непосредственно, как и "Средство просмотра событий" ).
Я нашел файл в% SystemRoot%\System32\Winevt\Logs\mylog.evtx, но не уверен, должен ли я приближаться к нему таким образом или нет. В идеале я хотел бы подражать тому, что делает просмотр событий, но настроен для моего приложения.
Попробуйте 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
Что вы хотите сделать в своем настроенном средстве просмотра журналов, который отсутствует в текущей функции?