Пишу программу, которая будет парсить определенные события в журнале событий windows и на основании данных в событии возвращать некоторые строки со значениями.
На данный момент - выбрать нужные события из самого журнала получается. Не получается из выбранных событий получить необходимые данные. Насколько я понял, мне необходимо получать событие в xml, после чего уже разбирать его.
Хотя бы примерно - как это можно сделать? Немного погуглив - нашел разрозненную информацию, адекватное целое собрать не вышло. Возможно, у кого то есть опыт решения подобных задач? Спасибо!
private void button1_MouseClick(object sender, MouseEventArgs e)
{
string logName = "Security";
string machineName = "compname";
long instanceId = 4905;
try
{
List<string> events = new List<string>();
EventLog log = new EventLog(logName, machineName);
foreach (EventLogEntry entry in log.Entries)
{
if (entry.InstanceId == instanceId)
{
string fieldname = "ProcessName";
var expression = new Regex(string.Format(@"\s*{0}:\s*-\s*(.+)\r\n", fieldname));
Match match = expression.Match(Text);
if (match.Success)
{
string field = match.Groups[1].ToString();
events.Add(field);
}
//events.Add(entry.Message);
}
}
StringBuilder strbuild = new StringBuilder();
foreach (string str in events)
{
strbuild.Append(str.ToString()).AppendLine();
}
MessageBox.Show(strbuild.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
Добрый день.
Вы наверное используете System.Diagnostics.EventLog
. С ним очень тяжело работать для анализа событий.
Посмотрите в сторону System.Diagnostics.Eventing.Reader.EventRecord
Вот простой пример как получить событие с определенным ИД:
using System.Diagnostics.Eventing.Reader;
...
int eventId = 17137;
string queryString = "*[System/EventID=" + eventId + "]";
EventLogQuery query = new EventLogQuery("Application", PathType.LogName, queryString);
EventLogReader eventReader = new EventLogReader(query);
EventRecord er = eventReader.ReadEvent();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На удаленных филиалах стоят компьютеры (XP, 7, 10), интернет там ужасныйИх необходимо периодически включать для прокачки данных
Есть приложение которое должно подключаться к серверу и принимать данныеСервер находится на PC