Являются ли мониторинг состояния ASP.NET и ELMAH альтернативами друг другу? - PullRequest
8 голосов
/ 21 февраля 2010

Я собирался использовать ELMAH для нашей окончательной автоматической регистрации ошибок, но недавно понял, что ASP.NET Health Monitoring выполняет ту же работу (возможно). Теперь я хочу знать (пожалуйста), являются ли они альтернативами друг другу, как log4net и entlib?

Ответы [ 3 ]

7 голосов
/ 21 февраля 2010

ELMAH для контроля ошибок, чистый и простой.Легко увидеть ошибки с помощью показаний, RSS-каналов и т. Д. Мониторинг состояния - это скорее полноценное инструментальное решение.

Хотите простой ответ?

ELMAHэто очень быстрое подключаемое решение для мониторинга ошибок , оно имеет очень специфическую задачу (то есть прекрасно).Мониторинг работоспособности - это в большей степени подход к дробовику «видеть / контролировать все» и требует гораздо больше работы по настройке.Ах да, нужно внести изменения?Это открытый исходный код, возьмите его, измените как хотите.

1 голос
/ 22 февраля 2010

ASP.NET Health Monitoring автоматически генерирует сообщения для таких событий, как запуск и завершение работы домена приложения, а также пульс и много другой информации о веб-приложении. Каркасы журналирования не поддерживают такие функции, но вы можете направить системные события Health Monitoring в выбранную вами каркасы логирования. Некоторые фреймворки даже поддерживают это «из коробки», например CuttingEdge.Logging . Вот пример конфигурации CuttingEdge.Logging , где события работоспособности пересылаются поставщику ведения журнала:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="logging"
      type="CuttingEdge.Logging.LoggingSection, CuttingEdge.Logging" />
  </configSections>
  <system.web>
    <healthMonitoring heartbeatInterval="0" enabled="true">
      <providers>
        <!-- We're configuring the web event provider here. -->
        <add name="LoggingWebEventProvider"
  type="CuttingEdge.Logging.Web.LoggingWebEventProvider, CuttingEdge.Logging"
          loggingProvider="DebugLogger" />
      </providers>
      <rules>
        <add name="Custom Event Provider"
           eventName="All Events"
           provider="LoggingWebEventProvider"
           profile="Default" />
      </rules>
    </healthMonitoring>
  </system.web>
  <logging defaultProvider="DebugLogger">
    <providers>
      <!-- Configure your favorite provider here. -->
      <add name="DebugLogger"
        type="CuttingEdge.Logging.DebugLoggingProvider, CuttingEdge.Logging"
        description="Debug logging provider"
        threshold="Debug" />
    </providers>
  </logging>
</configuration>
1 голос
/ 21 февраля 2010

Я не использовал мониторинг работоспособности в ASP.NET, но я использовал ELMAH, и это просто удивительно. Установка буквально занимает всего 2 минуты, а затем вы можете увидеть все ошибки. Есть также так много вариантов отображения ошибок. Попробуйте ELMAH, вам понравится.

...