Блок регистрации в Enterprise Library 5: как писать в программу просмотра событий?

Я использую Logging Application Block из Enterprise Library 5, пытаясь войти в плоский файл и журнал событий. Моя конфигурация выглядит так:

введите описание изображения здесь

Я использую этот код для записи в журналы:

Logger.Write("message", "General1");
Logger.Write("message", "General2");

Проблема в том, что ведение журнала плоских файлов нормально, но журнал событий никогда не показывает записи журнала. Я сделал там настраиваемый вид для фильтрации «Журнала корпоративной библиотеки».

Как можно создавать записи в журнале просмотра событий с помощью Ent lib 5?

Спасибо.

Пом.


person Pompair    schedule 22.09.2011    source источник


Ответы (2)


Я думаю, здесь могут произойти две вещи:

  1. Ведение журнала работает, но ваш пользовательский фильтр неверен
  2. Журнал не работает

Будем оптимистами и предположим, что ведение журнала работает.

Ведение журнала работает

Вы настроили EventLogTraceListener для входа в журнал событий с именем MyLog с источником «Ведение журнала корпоративной библиотеки». Возможно, пользовательский фильтр настроен на фильтрацию по журналу и не выполняет поиск в MyLog? Дважды проверьте свой фильтр, а также убедитесь, что в разделе Журналы приложений и служб действительно есть журнал под названием MyLog.

Однако, если я предполагаю, проблема не в этом.

Ведение журнала не работает

Предположим, что ведение журнала не работает. Наиболее вероятная причина того, что он не работает, заключается в том, что у вас нет разрешения на создание журнала событий. Я также заметил, что в разделе «Регистрация ошибок и предупреждений» не настроен прослушиватель. Всегда полезно настроить журнал ошибок и предупреждений для использования прослушивателя трассировки (я предпочитаю прослушиватель трассировки плоских файлов, поскольку он один из самых простых, поэтому меньше может пойти не так).
Итак, в вашем случае я бы установил чтобы использовать уже настроенный вами "Слушатель трассировки неструктурированных файлов":

 <specialSources>
   <allEvents switchValue="All" name="All Events" />
   <notProcessed switchValue="All" name="Unprocessed Category" />
   <errors switchValue="All" name="Logging Errors &amp; Warnings">
    <listeners>
     <add name="Flat File Trace Listener" />
    </listeners>
   </errors>
  </specialSources>

Теперь, если вы повторно запустите свою программу, вы, вероятно, увидите сообщение об ошибке в consoletrace.log.

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

person Randy supports Monica    schedule 23.09.2011

Я знаю, что сейчас это более старый вопрос, но для использования журнала событий сначала должен быть создан источник событий (пользователем, имеющим права администратора). Кроме того, если вы пытаетесь использовать это на веб-сайте, учетной записи NETWORK SERVICE должен быть предоставлен доступ для записи в журнал событий. Этот сайт поможет: http://msdn.microsoft.com/en-us/library/ms998320.aspx

person Mark    schedule 01.08.2012
comment
Разве вы не имеете в виду, что удостоверению пула приложений потребуется доступ для записи в журнал событий? IIS можно настроить для использования учетной записи, отличной от СЕТЕВОЙ СЛУЖБЫ. - person barrypicker; 10.07.2018