Как сохранить журнал событий в папке

в проекте asp NET (C#) я использую систему.Пространство имен Diagnostics для регистрации ошибок, предупреждений и информации. Используя Windows 7, я вижу, что журнал, который я установил для проекта, находится в разделе"журналы приложений и служб". Как я могу установить в коде создание папки и поместить ее в раздел "журналы приложений и служб[некоторая папка]журналы приложений и служб", например?

4 ответов


при создании Event Source, указать Log Name. Он станет "папкой" в средстве просмотра событий.

EventLog.CreateEventSource("Source", "Log name");
EventLog.WriteMessage("Source", "Your message");

имейте в виду, что для создания источника событий могут потребоваться дополнительные права на компьютере. В ASP.Net контекст, я предлагаю создать windows или консольное приложение, которые создают источник событий. Запустите его один раз как администратор.


журналы, хранящиеся в разделе журналы приложений и служб, являются журналами пользовательских издателей событий в отличие от простых журналов событий Windows.

в этой статье сводка технологий для чтения и управления журналами событий:

журналы приложений и служб-это различные категории журналов событий, чем Журналы Windows. приложения и Журналы служб хранят события из a одно приложение или компонент, а чем события это могло бы общесистемное воздействие. У них есть разнообразие имен, определяемых поставщик событий.

таким образом, вам нужно будет создать пользовательский издатель событий. Вот несколько статей с дополнительной информацией:


Это новая функция .NET 3.5 и доступна в . Microsoft представила новую библиотеку, которая не слишком удобна для пользователя читать об этом здесь. Он говорит, скорее всего, устарел, что эти классы работают только в Windows Vista, однако я бы рискнул предположить, что они доступны в Windows 7 и Server 2008.

Я не нашел код там, чтобы объяснить, как создать новую иерархию, как вы просили, однако я считаю, что это в общем направлении.


вы рассматривали использование более общего механизма журнала, который обеспечивает большую гибкость? Например, такой как log4net. Затем вы можете переключаться между файлами журнала и журналом событий, а также другими методами, когда захотите, без изменения строки кода.