Skip to Content
新しいバージョン 12 を公開しました 🎉
Licensingレポート機能例外レポート

例外レポート

例外レポートは、アプリケーションのクラッシュとエラーを特定して対処するうえで重要な役割を果たします。Babel Licensing Service には、アプリケーションの障害レポートを収集して分析するための強力な機能があります。

この記事では、サンプルコード console_exception_report_example を取り上げます。これは、Babel Licensing のクライアントライブラリを使って、アプリケーションの例外レポートを Babel Licensing Service に送信する方法を示すものです。このサンプルコードを活用すると、例外の根本原因を把握し、アプリケーションの安定性と信頼性を高められます。

アプリケーションの例外レポートのサンプル

console_exception_report_example を使い始めるには、次の手順に従います。

Git クライアントを開く

お好みの Git クライアントまたはコマンドラインを開きます。

リポジトリをクローンする

次のコマンドを実行して、GitHub リポジトリをクローンします。

git clone https://github.com/babelfornet/console-exception-report-example.git

リポジトリをクローンしたら、プロジェクトディレクトリに移動します。

cd console_exception_report_example

サンプルを確認して実行する

これで、サンプルコードを確認して実行する準備が整いました。

console_exception_report_example は、Babel Licensing のクライアントライブラリをアプリケーションに組み込み、例外レポートを取得して Babel Licensing Service に送信する方法を示します。コードの内容は次のとおりです。

  1. BabelReporting の初期化:サンプルコードは BabelReporting オブジェクトを初期化します。このオブジェクトが、Babel Licensing のクライアントライブラリへのインターフェイスになります。
  2. ユーザーキー:サンプルコードは、クライアントが例外を報告することを認可するためのユーザーキー(UserKey)を割り当てます。必ず有効なユーザーキーに置き換えてください。ユーザーキーを生成するには、フローティングライセンスまたはライセンスアクティベーションの説明を参照してください。
  3. 構成:Babel Reporting サービスの URL は、Babel Licensing Service に接続するように設定されています。必要に応じて URL を調整してください。
// Configure Babel Reporting Service URL reporting.Configuration.ServiceUrl = "http://127.0.0.1:5005";
  1. BeforeSendReport イベント:サンプルコードは BeforeSendReport イベントを購読します。このイベントでは、送信前の例外レポートをカスタマイズできます。このイベントハンドラーでは、cmdline(コマンドライン)や username(現在のユーザーの名前)などのカスタムプロパティがレポートに追加されます。
reporting.BeforeSendReport += (s, e) => { // Set report custom properties e.Report.Properties.Add("cmdline", Environment.CommandLine); e.Report.Properties.Add("username", Environment.UserName); };
  1. 例外の処理と報告:コードは、さまざまな種類の例外をシミュレートするためのメニューを表示します。例外が発生するとキャッチされ、スタックトレースを含む例外の詳細が表示されます。続いて、BabelReporting オブジェクトの SendExceptionReport メソッドが呼び出され、例外レポートが Babel Licensing Service に送信されます。
static async void TryThrowException(Action throwException) { try { throwException(); } catch (Exception ex) { Console.WriteLine("Exception thrown:"); Console.WriteLine(ex.StackTrace); reporting.SendExceptionReport(UserKey, ex); } }
  1. 例外の例:サンプルコードには、DivideByZeroException、IndexOutOfRangeException、ArgumentNullException、OutOfMemoryException の 4 つの例外シナリオが含まれています。各シナリオは、特定の種類の例外がスローされてキャッチされる様子を、対応するコードスニペットとともに示します。

サンプルが送信したレポートは、Babel Desktop の「レポート」ビューで、または Data Center エディションでは Web アプリケーションの「Reports」ページで参照できます。

console_exception_report_example は、Babel Licensing Service を利用してアプリケーションの障害レポートを収集、分析する方法を実際に示します。Babel Licensing のクライアントライブラリをお使いのアプリケーションに組み込み、このサンプルコードを活用することで、アプリケーションのクラッシュを詳しく把握し、バグの解決を早め、ユーザー体験を向上させ、今後の改善についてデータに基づいて判断できます。リポジトリをクローンしてコードを確認し、例外レポートを活用して、アプリケーションの安定性と信頼性を高めてください。

Last updated on