車輪を再発明することなく、予期しない生産エラーに対処しなければならない現在よりも優れた解決策を探しています。
当社の製品の多くは、リモート サイトにインストールされる WinForm および WPF アプリケーションです。NullReferenceExceptions から「一般的なネットワーク エラー」まで、必然的に予期しないエラーが発生します。したがって、プログラマーのエラーから環境の問題にまで及びます。
現在、これらの未処理の例外はすべて log4net を使用してログに記録され、分析のためにメールで返信されます。ただし、これらのエラー「レポート」に含まれる情報が少なすぎて問題を特定できない場合があることがわかりました。
これらのレポートでは、次のような情報が必要です。
- アプリケーション名
- アプリケーションのバージョン
- ワークステーション
- たぶんスクリーンショット
- 例外の詳細
- オペレーティング·システム
- 利用可能なRAM
- 実行中のプロセス
- 等々...
これをゼロから開発して車輪を再発明したくはありません。必要なコンポーネント:
- エラーの収集 (詳細は上記のとおり)
- エラー 'sender' (DB またはインターネットが利用できない場合はキューイングが必要です)
- エラーデータベース
- これらのエラーの分析と報告。たとえば、午後 4:00 から午後 5:00 の間に、最も頻繁に発生する 10 件のエラーまたはタイムアウトが発生します。エラーはバージョン x と y でどのように比較されますか?
注:可能な解決策としてSmartAssemblyを検討しましたが、近いとはいえ、私たちのニーズを完全に満たすものではありませんでした。他の開発者が何をしているか、およびいくつかの代替案が存在するかどうかを知りたいと思っていました。
編集:これまでの回答に感謝します。元の質問では明確ではなかったのかもしれませんが、問題は、未処理の例外をすべてキャッチする方法ではなく、それらを処理し、それらの周りにレポート エンジン (分析) を作成する方法です。