Чтение ошибок EventLog C#

У меня есть этот код в моем приложении ASP.NET, написанном на C#, который пытается прочитать журнал событий, но возвращает ошибку.

EventLog aLog = new EventLog();
aLog.Log = "Application";
aLog.MachineName = ".";  // Local machine

foreach (EventLogEntry entry in aLog.Entries)
{
 if (entry.Source.Equals("tvNZB"))
     Label_log.Text += "<p>" + entry.Message;
}

Одна из возвращаемых записей: «Описание события с идентификатором 0» в источнике tvNZB не найдено. Возможно, на локальном компьютере нет необходимой информации реестра или DLL-файлов сообщений для отображения сообщения, или у вас может не быть разрешения. для доступа к ним. Следующая информация является частью события: «Служба успешно запущена».

Я только хочу, чтобы «Служба успешно запущена». Есть идеи?


person Robert    schedule 13.04.2010    source источник


Ответы (1)


Попробуй это :)

        EventLog aLog = new EventLog();
        aLog.Log = "Application";
        aLog.MachineName = ".";  // Local machine

        string message = "\'Service started\'";

        foreach (EventLogEntry entry in aLog.Entries)
        {
            if (entry.Source.Equals("tvNZB")
             && entry.EntryType == EventLogEntryType.Information)
            {
                if (entry.Message.EndsWith(message))
                {
                    Console.Out.WriteLine("> " + entry.Message);
                    //do stuff
                }
            }
        }

Работает на Win XP дома. Сообщение может быть другим в другой ОС. Лучший способ: сбросить entry.Message на System.Diagnostics.Trace.Write и посмотреть точное сообщение.

Надеюсь работает без сбоев :)

person Nayan    schedule 13.04.2010
comment
Моя запись. Дамп сообщения таков: Не удается найти описание для события с идентификатором 0 из источника tvNZB. Либо компонент, вызывающий это событие, не установлен на вашем локальном компьютере, либо установка повреждена. Вы можете установить или восстановить компонент на локальном компьютере. Если событие возникло на другом компьютере, отображаемая информация должна была быть сохранена вместе с событием. Следующая информация была включена в событие: Служба успешно остановлена. Я только что понял, что ошибка, вероятно, связана с тем, что в данный момент служба не установлена, хех. - person Robert; 14.04.2010
comment
Найдите строку Служба успешно остановлена ​​в этом дампе. Возможно, вам потребуется настроить строку сообщения. Удачи! - person Nayan; 14.04.2010