Рекомендации по стратегии входа в систему - как отправить информацию о регистрации нескольким адресатам в зависимости от типа исключения - PullRequest
0 голосов
/ 15 декабря 2011

Я ищу пример конфигурации log4net / log4j, которая позволяет регистрировать различные типы ошибок в разных местах назначения.

Например:

если произойдет ошибка службы (из-за недоступности какой-либо внешней службы), мне необходимо уведомить администратора этой службы и, возможно, наших разработчиков или менеджеров.*

если произошла внутренняя ошибка (из-за сбоя в работе нашего приложения), я хочу, чтобы разработчики приложения были уведомлены (но не администраторы или менеджеры), и предоставили достаточно информации для решения этой проблемы.ваш опыт.

1 Ответ

0 голосов
/ 15 декабря 2011

В загрузке log4net есть пример расширения, которое показывает, как добавить пользовательский уровень трассировки в log4net.

Просмотрите расширения \ net \ 1.0 \ log4net.Ext.Trace

Вы можете создать пользовательский уровень для SERVICE и пользовательский уровень для INTERNAL.

В вашем коде вы будете использовать Log.SERVICE () и Log.INTERNAL ()

Ваша конфигурация будет чем-токак это:

<appender name="EmailAppender" type="log4net.Appender.SmtpAppender">
  <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="SERVICE" />
  </evaluator>

  <subject value="Error in the service" />
  <to value="service_admin@yourcompany.com" />
</appender>
<appender name="EmailAppender" type="log4net.Appender.SmtpAppender">
  <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="INTERNAL" />
  </evaluator>

  <subject value="Error in the internals" />
  <to value="internal_admin@yourcompany.com" />
</appender>
...