Пытаюсь прочитать события журнала Приложений и в какой-то момент программа вываливается с исключением: EventLogNotFoundException.
Фрагмент кода:
try
{
EventLogReader logReader = new EventLogReader(eventsQuery);
for (EventRecord eventdetail = logReader.ReadEvent(); eventdetail != null; eventdetail = logReader.ReadEvent())
{
DataRow dr = eventsDT.NewRow();
dr["Level"] = eventdetail.LevelDisplayName.ToString(); // Здесь вызывается исключение!!!
dr["Date and time"] = eventdetail.TimeCreated.ToString();
dr["Event ID"] = eventdetail.Id;
dr["Source"] = eventdetail.ProviderName;
eventsDT.Rows.Add(dr);
eventLogEntries++;
}
}
catch (EventLogNotFoundException e)
{
MessageBox.Show("Name of the event log or the path to the event log file does not exist", e.Message);
}
При запуске дебаггера оказывается, что LevelDisplayName равна null, однако если для проверки этой переменной вызывать метод String.IsNullOrWhiteSpace, то он все равно не срабатывает и выбрасывается исключение.
В принципе для получения информации о «Типе события» можно использовать переменную Level вместо LevelDisplayName:
dr["Level"] = Enum.GetName(typeof(StandardEventLevel), eventdetail.Level);
Теперь исключения не происходит:
DenTNT недавно публиковал (посмотреть все)
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024