Являются ли ASP.NET Health Monitoring и ELMAH альтернативой друг другу?

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


person Afshar Mohebi    schedule 21.02.2010    source источник


Ответы (3)


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

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

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

person Nick Craver    schedule 21.02.2010

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

person azamsharp    schedule 21.02.2010
comment
@azamsharp: спасибо за ответ. Но мониторинг работоспособности ASP.NET выглядит так же: - person Afshar Mohebi; 21.02.2010

Мониторинг работоспособности ASP.NET будет автоматически генерировать сообщения о таких событиях, как запуск и завершение работы домена приложения, контрольные сигналы и многие другие сведения о веб-приложении. Платформы ведения журналов не поддерживают такие функции, но вы можете перенаправить системные события 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>
person Steven    schedule 22.02.2010