2010-12-20 10 views
3

ユーザーの操作(挿入、更新、削除など)と例外についての情報をログに記録する必要があり、ログをOracle10に保存する必要があります。つかいます。 私は、について少し読み:ASP.NETアプリケーション用のロギングフレーム

1 -Log4Net

2 - アプリケーションブロック

3ロギングを - ELMAH

いただきましこれらのログツールについてのあなたの意見? 良いフレームワーク(または実装する方法)がアプリケーションにログオンしますか?

*は、アプリケーションブロック ロギングプロジェクトマネージャー、との議論の後)=別のフレームワークについて

+0

http://stackoverflow.com/questions/710863/log4net-vs-nlog?answertab=votes#tab-top –

答えて

3

log4netとLogging Application Blockの両方が有効です。私はELMAHがほとんどエラーに集中していると思うので、あなたが望む(おそらく唯一のものではない)でしょう。

仕事中、私はいくつかのプロジェクトでlog4netを使用しています。それは安定しており、実行可能で拡張性があり、問題は一度もありませんでした。

私はたぶんlog4netでロギングを行い、ELMAHでも例外をログします。未処理の例外を手動でログに記録することができ、アプリケーションで捕捉して処理する例外は、ELMAHへの単一の呼び出しで記録できます。これはダブルロギングのように見えるかもしれません(それは:-)です)。しかし、アプリケーションで予期しない何かが失敗したときにELMAHログを記録することは非常に重要です。

私はNLog projectについて良いことを聞いたことがありますが、自分では使用していません。これはlog4netよりも少し複雑ですが、ELMAHのようなメッセージを自動的に記録するコンテキスト情報を追加できるという利点があります。

+0

OPはELMAHを使用してエラーをログに記録することはできません。また、log4netを使用してエラー以外の情報を記録することはできません。 –

+0

@Scottもちろん、そうではありません。それは実際には私自身のことです。混乱を避けるために、それを答えに加えました。 – driis

1

私の意見私たちの選択である、しかし、これについてのコメントをすることができますされます:

  1. log4netのを - 大好きです。これは私が最も頻繁に使用するログシステムです。すべてが始めるのはかなり簡単です。非常に柔軟性があり、何かを記録することもできます。

  2. ロギングアプリケーションブロック - 適切なオプションです。私はまだLog4Netを好む(しかし理由はほとんど個人的である)。

  3. Elman - 例外をログに記録するためのASP.NETアプリケーションへのドロップに最適です。しかし、一般的なメッセージのロギングでは、私はまだLog4Netに行きます。

そして私は、私はあなたが行うことをお勧め何を私の意見に基づいて推測している...

そうでない場合は、log4netのを使用し、シンプルなロギングを作るために、あなたのアプリケーションで使用できるアダプタを作成します。

+0

にお答えくださいJustinありがとうございます。私もlog4Netが好きです、アプリケーションブロックも良いようです。 – Ewerton

0

私は個人的にはBitFactory.Loggingが好きです。軽量で、適切な量の抽象化を使用して呼び出しコードを簡単にテスト可能にするためです。

これは、ログに記録する(挿入、更新、削除)ものは、設定に応じてより優れたパフォーマンスを発揮するトリガーだけを使用してログに記録できると述べています。

0

私は個人的には常にラッパーを作成します。したがって、自分が選択したもののいずれかで動作する独自のILog実装があります。これにより、または実装を簡単に交換できます。

私は#2を試みましたが、それは痛みのようでした。 #1は私たちのためにうまくいきましたが、私たちはそれには向かなかっただけで、簡単なカスタムロギングを行っただけです。私が知っているのは、組織内で実装するのに問題がある人がいることがわかっていることです。なぜか分かりませんが、実際にはかなり面白そうです。私はあなたが間違って個人的に行くことはできないと思います。それは部分的にあなたが好きなAPIに依存します。

HTH。

0

Log4netは静かであり、基本的にlog4jのバージョンです。 Elmahは、特にDBに書き込むので、あなたが本番環境のファイルに書き込むことができない(私のような)ことが分かっている場合には、素晴らしいことです。また、Elmahは例外ログに適しており、イベントに基づいてログすることができるため、クールです。私のプロジェクトでは、通常、log4netとElmahの両方をデプロイします。

0

dbのデータ変更を監査する場合は、関連するテーブルでトリガーを使用できます。

dotNetアプリケーションにログインするには、TraceSourceを使用してログ情報を書き出し、カスタムTraceListenerを使用してdbに書き込みます。実際に基本クラスライブラリを超えるフレームワークは必要ありません。

+0

クリステンありがとうございましたが、「価格は10%オフに設定されています」などのビジネス行動を記録する必要があります。 – Ewerton

関連する問題