2009-03-16 11 views
8

私は3.5で新しいasp.netサイトを見ていますが、エラー処理やロギングはまったくありません。ロギングとエラー処理のための良いオプションは何ですか? Log4Netを1.1フレームワークで使用しましたが、3.5で潜在的により良いオプションがあると聞きました。ASP.NETロギング - log4netまたはヘルスモニタリング?

答えて

8

1つのオプションはELMAHです。私はここでそれについての質問をしました:ASP.NET Error Handling

それ以来、少し修正したバージョンを実装しました。ロギングと電子メールは素晴らしいもので、web.configファイルを使って簡単に統合できます。

+0

ログページを保護するにはどうすればよいですか? – Caveatrob

+0

それは私の「変更」の一部でした。私はログに記録された情報が公開されることを望んでいなかったので、データベースに情報を記録して、私に電子メールを送るだけにしました。その後、私が電子メールを受け取ったら、データベースのログを見ることができます。私はとにかくリモートで視聴する必要はありません。 – NYSystemsAnalyst

+2

Scott Hanselmanもまた、ELMAHを使って立ち上げて走っています。http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx –

4

従ってください。簡単で速く、うまく動作します。私は1.1、2.0、3.5でこれを何年も使ってきました。

-2

個人的に、私はlog4netのを試みたが、WinFormsのための仕様と例を見て、私の組織では、我々は必要なすべてを報告するのglobal.asaxに巻き込まれたエラーを報告し、ログに記録し、当社独自のロギングメカニズムをコード化されたhaventスタックトレース、セッション(存在する場合)、フォームのNVC、アプリケーションのバージョン、クエリ文字列でエラーを発生させたURL、およびHTTPヘッダーについて知ることができます。私はすべてのエラーがログに記録されるわけではないことに気づいたが、フォーム認証の有効期限やアプリケーションプールの再起動/シャットダウン、またはアプリケーションの実行によってスローされなかったIISによって報告されたものなどがあります。予想、マニュアル(デバッグ、情報およびエラー)については、

NLogを処理予期しない例外のために

ELMAH - :

6

私たちは、ログの2つのオプションを使用します。

ELMAHは、自動的に(スローされた500例外には見られない404の(ページ)から)の例外を捕捉して、これらのエラーを視覚化するためにWeb-UIに組み込まれている偉大なアウトオブボックスのプラグインです。したがって、実際には予期しないというエラーが発生するのは、非常に迅速かつ効果的な方法です。今

NLog賛辞この私たちの開発者を有することにより、手動で、我々は非locahostシステムから情報を取得する必要があるときに、それは非常に簡単です、特定のスポットでコードにデバッグ情報を挿入します。たとえば、ローカル変数が何であるか、返された値などを確認するために、多くのメソッドでlog.Debug(..)コードを捨てました。もっと重要な情報については、log.Info(..)を使用します。最後に、私たちがトラップして処理している重大なエラーについては、log.Error(..)またはlog.Warn(..)を使用しています。一般的には、try/catchスコープ内にあります。したがって、我々のテストサーバまたはライブサーバでは、多くのデータ、ライブ、または一般的な重要情報(例えば、Info州以上)を取得する必要がある場合、すべてのログ状態(例:Debug以上)を有効にします。我々は常にWarn, Error and Fatal州を常に持っています。デバッグ状態では多くのデータが生成されるため、あまり使用しません。

要約すると、WebAppに2つのアプローチを使用することをお勧めします。 Elmer for excellent 予期しないエラートラップとNLog のために情報と誤差

最後に、NLogはWAAAYでLog4Netよりも使いやすく/動作しやすいです。それは基本的にそれを上回る、IMO。

関連する問題