Являются ли ASP.NET Мониторинг состояния здоровья и ELMAH альтернативами друг другу?
-
21-09-2019 - |
Вопрос
Я собирался использовать ELMAH для нашего окончательного автоматического протоколирования ошибок, но недавно понял, что ASP.NET Мониторинг работоспособности выполняет ту же работу (возможно).Теперь я хочу знать (пожалуйста), являются ли они альтернативами друг другу, как log4net и entlib?
Решение
ELMAH предназначен для мониторинга ошибок, чистый и простой.Легко увидеть ошибки с помощью считывания, RSS-каналов и т.д.Мониторинг работоспособности - это скорее полноценное инструментальное решение.
Хотите простой ответ?
ELMAH - это очень быстрое подключаемое решение для мониторинг ошибок у него очень специфическая задача (то есть он прекрасно справляется).Мониторинг работоспособности - это скорее подход "смотри / отслеживай все" из ружья и включает в себя гораздо больше работы по настройке.Ах да, нужно что-то изменить?Это открытый исходный код, берите его, меняйте, как вам нравится.
Другие советы
Я не использовал мониторинг работоспособности в ASP.NET но я использовал ELMAH, и это просто потрясающе.Настройка занимает буквально всего 2 минуты, а затем вы можете увидеть все ошибки.Существует также очень много вариантов отображения ошибок.Попробуйте ELMAH, вам это обязательно понравится.
ASP.NET Мониторинг работоспособности автоматически генерирует сообщения о таких событиях, как запуск и завершение работы домена приложения, сердцебиения и многие другие сведения о веб-приложении.Платформы ведения журнала не поддерживают такие функции, но вы можете перенаправлять события системы мониторинга работоспособности в выбранную вами платформу ведения журнала.Некоторые фреймворки даже поддерживают это "из коробки", такие как Режущая кромка.Лесозаготовки.Вот пример конфигурации Режущая кромка.Лесозаготовки где события работоспособности пересылаются поставщику ведения журнала:
<?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>