Блок приложения ведения журнала корпоративной библиотеки не может записать в базу данных

В моем приложении я использую блок приложения для ведения журнала корпоративной библиотеки для записи исключений в БД. Кроме того, я использую свободный API для настройки блока приложения для ведения журнала.

Я заметил:

  1. Когда я не использовал Fluent API и ведение журнала базы данных не удавалось, исключение регистрировалось в журнале событий Windows. (Версия 5.0)
  2. Но когда я использовал его (Fluent API), в случае сбоя базы данных он не регистрирует исключение нигде, даже в журнале событий Windown.

Мой вопрос:

  1. Это нормальное поведение блока приложения для ведения журнала библиотеки предприятия?
  2. Есть ли способ, которым, используя свободный API, я могу получить функциональность, которую я получал без него, Смысл (в случае, если ведение журнала db не регистрируется в журнале событий Windows).

Не стесняйтесь предлагать в случае каких-либо несоответствий. :-)


person Bose_geek    schedule 01.08.2013    source источник


Ответы (1)


Точный синтаксис зависит от вашей существующей конфигурации. Предполагая, что у вас нет уже настроенного прослушивателя трассировки или средства форматирования, которые вы хотите использовать:

configurationSourceBuilder
    .ConfigureLogging()
    .SpecialSources.LoggingErrorsAndWarningsCategory
    .SendTo.EventLog("Event Log Listener")
    .FormatWith(new FormatterBuilder().TextFormatterNamed("Text Formatter"));

Если у вас уже настроен прослушиватель трассировки журнала событий, который вы хотите использовать (в этом примере он называется «прослушиватель журнала событий»):

configurationSourceBuilder
    .ConfigureLogging()
    .SpecialSources.LoggingErrorsAndWarningsCategory
    .SendTo.SharedListenerNamed("Event Log Listener");

Если у вас уже настроено средство форматирования журнала, которое вы хотите использовать (в этом примере оно называется «Средство форматирования текста»):

configurationSourceBuilder
    .ConfigureLogging()
    .SpecialSources.LoggingErrorsAndWarningsCategory
    .SendTo.EventLog("Event Log Listener")
    .FormatWithSharedFormatter("Text Formatter");
person Tim B    schedule 01.08.2013
comment
Опять же, мой вопрос: если в веб-конфигурации настроено все, кроме строки подключения, которую я собираюсь установить через Fluent API, будет ли блок приложения Logging регистрировать исключение в журнале событий Windows в случае сбоев ведения журнала БД? - person Bose_geek; 01.08.2013
comment
Нет, я не считаю, что это поведение по умолчанию. Вы назначили прослушиватель трассировки в специальную категорию «Ведение журнала ошибок и предупреждений», что и делает этот код. - person Tim B; 02.08.2013