私は3.5で新しいasp.netサイトを見ていますが、エラー処理やロギングはまったくありません。ロギングとエラー処理のための良いオプションは何ですか? Log4Netを1.1フレームワークで使用しましたが、3.5で潜在的により良いオプションがあると聞きました。ASP.NETロギング - log4netまたはヘルスモニタリング?
答えて
1つのオプションはELMAHです。私はここでそれについての質問をしました:ASP.NET Error Handling。
それ以来、少し修正したバージョンを実装しました。ロギングと電子メールは素晴らしいもので、web.configファイルを使って簡単に統合できます。
Enterprise Libraryおそらく学習曲線はありますが、良いプロジェクトです。 Asp.Netで
はデビッドヘイデンの記事あなたが知っているものに固執、log4netのために使用されている場合は Enterprise Library 2.0 Logging Application Block従ってください。簡単で速く、うまく動作します。私は1.1、2.0、3.5でこれを何年も使ってきました。
ASP.NETヘルスモニタリングは実際にはまともな仕事をしてくれます。
MSDN, How to: Send E-mail for Health Monitoring Notifications
個人的に、私はlog4netのを試みたが、WinFormsのための仕様と例を見て、私の組織では、我々は必要なすべてを報告するのglobal.asaxに巻き込まれたエラーを報告し、ログに記録し、当社独自のロギングメカニズムをコード化されたhaventスタックトレース、セッション(存在する場合)、フォームのNVC、アプリケーションのバージョン、クエリ文字列でエラーを発生させたURL、およびHTTPヘッダーについて知ることができます。私はすべてのエラーがログに記録されるわけではないことに気づいたが、フォーム認証の有効期限やアプリケーションプールの再起動/シャットダウン、またはアプリケーションの実行によってスローされなかったIISによって報告されたものなどがあります。予想、マニュアル(デバッグ、情報およびエラー)については、
NLogを処理予期しない例外のために
ELMAH - :
私たちは、ログの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。
- 1. log4netとNoSQLロギング
- 2. ASP.NETヘルスモニタリングまたはELMAHを選択する
- 3. log4netのロギングは、同じプログラムの
- 4. maxJsonLengthがlog4netのロギングを超過しました。ElasticSearchアペンダー
- 5. カスタムlog4netアペンダ内でのロギング/エラー処理
- 6. アプリケーションのヘルスモニタリング
- 7. カスタムLog4Netコンフィギュレーションを使用したWindsorロギング機能
- 8. Log4Netを使用したSpring.Netロギングが動作しない
- 9. Log4netがロギングを停止したときの通知
- 10. log4netでASP.NET MVCの非同期ロギングを実装する必要はありますか?
- 11. log4netロギングの他の選択肢は何ですか?
- 12. インターセプトelmahロギングASP.NET MVC
- 13. ASP.NETヘルスモニタリング設定、「eventName」属性の有効な値
- 14. ASP.Netヘルスモニタリング用のカスタムプロバイダの作成方法と構成方法
- 15. log4netのはIIS8
- 16. Log4netで特定のロガーのロギングをオフにする方法
- 17. Log4netのロギングが並列スレッドで動作しない
- 18. log4netがロギングを停止した場合のイベントの受信方法
- 19. log4netのRaygunはタグ
- 20. IIS7,5または他のロガーのLog4net?
- 21. Numberフィールドにロギングするときに、Log4netによるOracleへのロギングエラーが発生しましたか?
- 22. Talendのサブジョブメッセージのキャプチャまたはロギング
- 23. jinja2コンソールまたはロギングに印刷
- 24. Kentor authservicesとlog4net
- 25. ぼんやりしたウェブサイトをログするためのLog4netまたは紺碧
- 26. log4netを使用したDotNetOpenAuth 1.2.11
- 27. log4net - 1日の特定の時間にのみロギングをスケジュールする
- 28. log4netでロギングするときに 'Await'がUIスレッドに戻らない
- 29. ミドルウェアをAsp.Netコアにロギングした後、UseExceptionHandlerを使用して
- 30. ASP.NET MVC 3サイトでレポートを取得するためのロギング
ログページを保護するにはどうすればよいですか? – Caveatrob
それは私の「変更」の一部でした。私はログに記録された情報が公開されることを望んでいなかったので、データベースに情報を記録して、私に電子メールを送るだけにしました。その後、私が電子メールを受け取ったら、データベースのログを見ることができます。私はとにかくリモートで視聴する必要はありません。 – NYSystemsAnalyst
Scott Hanselmanもまた、ELMAHを使って立ち上げて走っています。http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx –