2016-11-22 16 views
-1

WPFアプリケーションでエラーが発生したことを報告するための標準システムまたは.NET APIはありますか、または常にカスタムソリューションを実装する必要がありますか?デスクトップアプリケーションでエラーを報告する標準的な方法はありますか?

+0

エラーをUIまたはログに報告することを意味しますか? –

+0

Windowsエラー報告のようなものですが、お使いのアプリケーションに合ったものです。 –

+0

したがって、いくつかのエラー報告API /フレームワークは、log4netのようなフレームワークを記録しません。 –

答えて

-2

私が知っている方法は、あなたがエラーをキャッチしたときに、そのようなものです:あなたがメモ帳でそれらのすべてを置くためにGoogle検索を行う場合、これらのエラーをログに記録するため

try 
    { 
    .... 
    } 

catch (Exception exception) // catching a general exception is usually a bad idea, would be good to specialise it like FormatException 
    {    
    MessageBox.Show(exception.ToString()); // this is usefull when debugging to see exactly what happened  
    throw;    
    } 

、メソッドのpolentyは、オンラインtheresのですあなたのアプリケーションフォルダにクライアントクラッシュがあるときに、ポップアップウィンドウを追加して、メモ帳を電子メールで送信するように要求することができます。私が行った研究では、カスタムソリューションだけが見つかりました

+0

話し手:私はdownvoterではない。私は識別子として 'exceptionName'を使用せず、' exception'だけを使用します。一方、メッセージボックスを表示した後、例外(つまり 'throw;')を再スローする必要があります。あなたの提案は非常に限られていますが、私はOPが潜在的な解決策を求める前にこれを知っていたと思います... –

+0

@Matias、ええ、私の担当者から見ることができます、まだ学習しています。 OPは何をすべきかわからないので、ちょうどスターターアイデアを与えていた – JohnChris

+0

オクラホマ、あなたにもあなたの提案をします。より良いエラー報告は、 'AppDomain.UnhandledException'を使用してWindowsイベントログに報告します。D –

0

log4netはどうですか? https://logging.apache.org/log4net/

それはあなたが複数のログターゲットに出力することができます:

  1. は、準備されたステートメントまたはストアドプロシージャのいずれかを使用してデータベースにログイベントを書き込みます。
  2. 色の強調表示されたロギングイベントをANSI端末ウィンドウに書き込みます。
  3. ロギングイベントをASPトレースコンテキストに書き込みます。これらは、ASPページの最後またはASPトレースページで表示できます。
  4. 色の強調表示されたロギングイベントをアプリケーションのWindowsコンソールに書き込みます。
  5. アプリケーションのコンソールにログイベントを書き込みます。イベントは、標準ストリームまたは標準エラーストリームのいずれかに移動できます。
  6. ログイベントを.NETシステムに書き込みます。
  7. ログイベントをWindowsイベントログに書き込みます。
  8. ファイルシステム内のファイルにログイベントを書き込みます。
  9. ログイベントをローカルsyslogサービスに書き込みます(UNIXのみ)。
  10. ログイベントをメモリバッファに格納します。
  11. ログイベントをWindows Messengerサービスに書き込みます。これらのメッセージは、ユーザー端末のダイアログに表示されます。
  12. ログイベントをデバッガに書き込みます。アプリケーションにデバッガがない場合、システムデバッガはその文字列を表示します。アプリケーションにデバッガがなく、システムデバッガがアクティブでない場合、メッセージは無視されます。
  13. UDPネットワーキングを使用してリモートsyslogサービスにログイベントを書き込みます。
  14. .NET Remotingを使用して、リモートシンクにログイベントを書き込みます。
  15. ファイルシステム内のファイルにログイベントを書き込みます。 RollingFileAppenderは、日付またはファイルサイズの制約に基づいて複数のファイルにログを記録するように構成できます。
  16. ロギングイベントを電子メールアドレスに送信します。
  17. ロギングイベントを電子メールアドレスに送信しますが、電子メールをSMTP経由で直接送信するのではなく、構成可能なディレクトリに書き込みます。
  18. クライアントはTelnet経由で接続し、ロギングイベントを受信します。
  19. ログイベントを.NETトレースシステムに書き込みます。
  20. UdpClientを使用して、接続していないUDPデータグラムとしてロギングイベントをリモートホストまたはマルチキャストグループに送信します。
+0

あなたはコメントを読むことができますか? log4netのようなフレームワークをロギングしない –

関連する問題