log4net と ELMAH の違いは何ですか?

Log4Net アプリケーション (Web、コンソール、DLL など) 内で使用するための API を備えた汎用ログ フレームワークです。

logger.Debug("Some low level debug message...");
logger.Info("Some basic info");
logger.Warn("Some business logic problem, but not critical");
logger.Error("An unexpected error");

エルマー は、例外のロギング専用の控えめな IIS プラグインです。 Web アプリケーションで。アプリケーション内に ELMAH への参照は表示されません。操作する API がありません。モジュールとハンドラーの IIS 拡張ポイントを使用して動作を固定します。さらに、Web アプリケーションで発生したエラーを表示するための Web フロントエンドがあります。 Log4Net にはフロントエンドがなく、ログ ファイル、syslog サーバー、データベースなどにログ メッセージを送信できるさまざまなログ シンク (アペンダー) だけがあります。


ELMAH は、Web アプリケーションのエラーと例外を追跡する目的を果たし、さまざまなメカニズム (SQL、RSS、Twitter、ファイル、電子メールなど) を介してそれらの例外を簡単に記録または表示できるようにします。組み込みの例外処理がない場合、ELMAH は Web アプリケーション環境での例外処理に関して探しているものを取得する可能性が高いです。

Log4net は例外ログにも使用できますが、Web アプリケーションにプラグインするために独自のハンドラーをロールする必要がある場合があります。 log4net は汎用ログ フレームワークであるため、他の種類の情報ログを実行する必要がある場合、Log4net は ELMAH より優れています。 Log4net は、ほぼすべての .NET アプリケーションでも使用できます。


主な違いは、ELMAH が未処理のアプリケーション例外をログに記録することです。 log4net は、ログに記録するように指示したものをすべてログに記録します。未処理の例外をログに記録するように log4net を構成できますが、ELMAH はすぐに役立つ豊富な情報をキャプチャします。