ELMAH とエンタープライズ ライブラリ例外処理ブロックの比較
-
06-09-2019 - |
質問
私のチームは現在、ASP.NET MVC アプリケーションの構築過程にあり、エラー処理とログに対処するためにこれらのフレームワークのどれを実装するかを決定しようとしています。
これらのいずれかを選択する理由は何ですか?
解決
私個人としては、これまで多くのクライアントに Enterprise Library を使用してきましたが、ELMAH はまだ使用したことがありません。Ent Lib についての私の考えは次のとおりです。
- Ent Lib の使い方に慣れるまでには少し時間がかかります。5 秒もあればインストールして使い始めることができます。
- app.config/web.config ファイルを機能させるためには、多くの設定を行う必要があります。とはいえ、一度理解すれば、他のプロジェクトも容易になります。
- 情報をどこか (イベント ログ、フラット ファイル、データベースなど) に記録するには、例外処理ブロックだけでなく、ログ ブロックを実装する必要があります。
- 例外をログに記録するためだけではありません。たとえば、クライアントの多くは、ユーザーがアプリケーションにログインまたはログアウトしたときのログ イベントを取得したいと考えています。
- 構成ファイルを使用して、環境に応じてロギングの動作を変更できます (例:実稼働の場合は例外をログに記録し、開発の場合はすべてをログに記録します)。
- Web だけでなく、あらゆる種類のアプリケーションに適用されます。
ELMAH をざっと見ただけで、これは何かをすぐに始めるのに最適な方法だと思います。長期的には、さらにパワーのあるものが必要になるかもしれません。
他のヒント
ELMAHは、シンプルな使いやすく、かつ実装が容易です。 EntLibは、大きな "enterprisey"、および強力です。あなたのケースでは、私はあなたの状況を知って少しに基づいて、私は何をお勧めすることを躊躇します。私はあなたのための1つを選択しなければならない場合しかし、私は述べた理由のためにELMAHを言うでしょう。
私はかなりよくあるケースですが、EntLibraryはELMAHはjsut例外が発生した場所をするときやお見せしようとしているのに対し、例外処理の開発を支援することを意図され、ここでオフベースであってもよいです。あなただけの例外の報告をしたい場合は、より多くの電力EntLibが必要な場合は、ELMAHを使用します。
また、ELMAHは、具体的には、を未処理のの例外を捕捉してログインするために設計されています。キャッチ例外をログに記録するように設定することができますが、それは最近追加されず、その主な目的である。
所属していません StackOverflow