Прочитайте журнал событий в C#

Я пытаюсь прочитать журналы событий для своего приложения EventLoggingApp. Проблема читает журналы для моего единственного источника (EventLoggingApp).

Этот код считал журналы для каждого источника.В чем проблема? Совет?

static void ReadEvenLog()
{
    string eventLogName = "Application";
    string sourceName = "EventLoggingApp";
    string machineName = "Tom";

    EventLog eventLog = new EventLog();
    eventLog.Log = eventLogName;
    eventLog.Source = sourceName;
    eventLog.MachineName = machineName;

    foreach (EventLogEntry log in eventLog.Entries)
    {
        Console.WriteLine("{0}\n",log.Source);
    }
}
18
задан martijnn2008 19 September 2017 в 12:29
поделиться

3 ответа

Если вы подключаетесь к localhost, установите для MachineName значение "." Проверьте, есть ли у пользователя право читать из журнала событий

-2
ответ дан 30 November 2019 в 08:32
поделиться

MSDN (1) (2) сообщает, что Source предназначен только для записи журналов событий.

Нет необходимости указывать источник при чтении только из журнала. Для экземпляра журнала событий можно указать только свойства Log name и MachineName (имя серверного компьютера). В любом случае элемент Entries автоматически заполняется списком записей журнала событий. Вы можете выбрать соответствующий указатель для элемента в этом списке, чтобы прочитать отдельные записи. (1)

1
ответ дан 30 November 2019 в 08:32
поделиться

Ознакомьтесь с этой статьей в MSDN. Вы не можете читать записи журнала событий по источнику. Только имя журнала имеет значение. Вместо этого вы можете создать отдельный журнал событий для своего приложения или отфильтровать записи, проверив свойство Source каждой записи в цикле foreach.

4
ответ дан 30 November 2019 в 08:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: