Понадобилось читать логи системы, для эксперимента использовал такой код:
EventLog myEventLog = new EventLog("System", "localhost");
int i = 0;
foreach (EventLogEntry entry in myEventLog.Entries)
{
richTextBoxLog.Text += "Category\n" + entry.Category + "\nCategoryNumber\n" +
entry.CategoryNumber + "\nEntryType\n" + entry.EntryType + "\nEventID\n" +
entry.EventID + "\nIndex\n" + entry.Index + "\nInstanceId\n" +
entry.InstanceId + "\nMachineName\n" + entry.MachineName +
"\nMessage\n" + entry.Message + "\nSource\n" + entry.Source;
i++;
if (i>10) break;
}
В тоге заметил странное, если источник события
EventLog
то текст события в журнале системы и полученный программой совпадает, например
Запущена служба журнала событий.
, но если источник события к примеру
Microsoft-Windows-Kernel-General
то программа получает такой текст события:
Не найдено описание для события с кодом '12' в источнике 'Microsoft-Windows-Kernel-General'. Возможно, на локальном компьютере нет нужных данных реестра или файлов сообщений DLL для отображения сообщений, либо у вас нет прав доступа к ним. В записи события содержится следующая информация:'10', '0', '17763', '1', '0', '0', '2019-02-17T12:23:00.500000000Z'
но если это событие просматривать через журнал событий (eventvwr.msc) то видим
Системное время запуска операционной системы: 2019-02-17T12:23:00.500000000Z.
Почему так и как получить тот же текст как и в журнале событий?