Я хотел бы знать, как можно поймать событие в С# при создании журнала системных событий. Также я хотел бы знать, как я могу получить только ОШИБКИ LOGS из журналов событий Windows с помощью С#. У меня есть следующий код, но он просто возвращает мне все журналы. Мне просто нужны журналы ERROR:
System.Diagnostics.EventLog eventLog1 = new System.Diagnostics.EventLog("Application", Environment.MachineName);
int i = 0;
foreach (System.Diagnostics.EventLogEntry entry in eventLog1.Entries)
{
Label1.Text += "Log is : " + entry.Message + Environment.NewLine;
}
Вы можете использовать статический метод CreateEventSource
класса EventLog
для создания журнала событий, например
EventLog.CreateEventSource("MyApp","Application");
Класс EventLog
присутствует в System.Diagnostics
имен System.Diagnostics
.
Вы можете использовать WriteEntry()
для записи в журнал событий. EventLogEntryType
может использоваться для указания типа события, которое вы хотите зарегистрировать. Пример ниже
EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning, 234);
См. Раздел " Как записать в журнал событий с помощью Visual С#
если вы ищете только чтение журнала ERROR
только для чтения, вы можете использовать приведенный ниже код. Вам просто нужно проверить EntryType
в EntryType
а затем распечатать/отобразить соответственно.
static void Main(string[] args)
{
EventLog el = new EventLog("Application", "MY-PC");
foreach (EventLogEntry entry in el.Entries)
{
if (entry.EntryType == EventLogEntryType.Error)
{
Console.WriteLine(entry.Message);
}
}
}