究極の自動エラーログにELMAHを使用するつもりでしたが、最近、ASP.NET Health Monitoringが同じ作業を行うことに気付きました(おそらく)。log4netやentlibのように、それらが互いに代替であるかどうかを知りたいのですが(お願いします)?
3 に答える
ELMAHは、純粋でシンプルなエラー監視用です。読み出しやRSSフィードなどを介してエラーを簡単に確認できます。ヘルスモニタリングは、より完全なインストルメンテーションソリューションです。
簡単な答えが欲しいですか?
ELMAHは、エラーを監視するための非常に迅速なプラグイン可能なソリューションであり、非常に特殊なタスクがあります(つまり、美しく実行されます)。ヘルスモニタリングは、ショットガンのすべてのアプローチを確認/監視するものであり、はるかに多くのセットアップ作業が含まれます。そうそう、変更を加える必要がありますか?それはオープンソースです、それをつかんで、あなたが好きなようにそれを変えてください。
ASP.NETでヘルスモニタリングを使用したことはありませんが、ELMAHを使用したことがあり、それは単純に驚くべきことです。セットアップには文字通り2分しかかからず、すべてのエラーを確認できます。エラーを表示するためのオプションもたくさんあります。あなたがそれを好きになるだろうELMAHを試してみてください。
ASP.NET Health Monitoringは、アプリドメインの起動とシャットダウン、ハートビート、およびWebアプリケーションに関するその他の多くの情報などのイベントのメッセージを自動的に生成します。ロギングフレームワークはそのような機能をサポートしていませんが、ヘルスモニタリングシステムイベントを選択したロギングフレームワークにルーティングできます。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>