Класс EventLog позволяет получить доступ к журналу событий, которые записывают информацию о важных программных или аппаратных событиях. С помощью класса EventLog, вы можете прочитать существующие журналы, записи в журналах, создавать или удалять источники событий, удалять журналы. Вы также можете создавать новые журналы при создании источника события.
using System;
using System.IO;
using System.Diagnostics;
public class Test
{
public static void Main()
{
// Проверяем на источник журнала событий на указанные машины
// Журнал событий приложений на ПК MCBcomputer
if (!EventLog.Exists("Application", "MCBcomputer"))
{
Console.WriteLine("Журнал не существует!!");
return;
}
EventLog myLog = new EventLog();
myLog.Log = "Application";
myLog.MachineName = "MCBcomputer";
Console.WriteLine("There are " + myLog.Entries.Count + " entr[y|ies] in the Application log:");
foreach (EventLogEntry entry in myLog.Entries)
{
Console.WriteLine("tEntry: " + entry.Message);
}
// Проверяем на наличие события Демо в источнике журнала
// Создаем его, если он не существует
if (!EventLog.SourceExists("Demo"))
{
EventLog.CreateEventSource("Demo", "Demo");
}
EventLog.WriteEntry("AnySource", "writing error to demo log.", EventLogEntryType.Error);
Console.WriteLine("Monitoring of Application event log began...");
Console.WriteLine(@"Press 'q' and 'Enter' to quit");
while (Console.Read() != 'q')
{
// Теперь мы будем отслеживать новые записи, которые будут записаны.
// При создании делегата EntryWrittenEventHandler
// Указывается метод, который будет обрабатывать события.
myLog.EntryWritten += new EntryWrittenEventHandler(OnEntryWritten);
// EnableRaisingEvents получает или задает значение, указывающее, получает ли
// EventLog экземпляр уведомление о событии EntryWritten.
myLog.EnableRaisingEvents = true;
}
}
public static void OnEntryWritten(Object source, EntryWrittenEventArgs e)
{
Console.WriteLine("written entry: " + e.Entry.Message);
}
}
0.00 (0%) 0 votes








