Sedge-自動エラー報告アプリケーション

わずかな余談



偶然、最近、さまざまな機器と連携して動作するプログラムを開発しています。 前の仕事では、これらは半導体産業用のロボットとテストステーションでしたが、現在のものでは化学と医学用の質量分析計でした。 完全に異なる業界とプログラムの目的があるように見えますが、開発者の観点からは多くの共通点があります。



使用する典型的な構成は次のように説明できます。クライアントコンピュータが接続されているステーション。 基本的なアプリケーションがコンピューターにインストールされ、機器と対話し、データを収集するためのインターフェイスを提供します。 これらのインターフェイスは、特定のユーザーの問題を解決するために必要な多数の垂直アプリケーションで使用されます。 1つの問題を解決するには、通常2つまたは3つのアプリケーションの相互作用が必要です。 この一連のアプリケーション全体は、多数の構成ファイルに依存しており、大量のレポートとデータを生成します。



この長い導入は、システムでエラーが発生したときにその原因を説明するために必要でした。ローカライズのために、システムの状態をできるだけ正確に知ることが重要です。 エラーレポートには、ログ、構成ファイル、データファイル、プロジェクトなど、数十のファイルが含まれる場合があります。 電話でユーザーに説明するために、それをすべてまとめる方法は楽しい経験ではありません。



同様の状況にある場合は、エラー報告の作成を自動化するプログラム-Sedgeが必要になる場合があります。 その助けを借りて、発生したエラーについてユーザーにインタビューし、ユーザー情報、システムデータ、必要なすべてのファイルを含むレポートを自動的に生成し、パックして送信できます。





仕組み



Sedgeの仕組みを理解するには、スイート(アプリケーションのセット)とアプリケーション(アプリケーション)の2つの概念が重要です。 一連のアプリケーションは、1つ以上の.sedgeファイルで記述でき、ユーザーインターフェイス、共有ファイル、レポート送信方法など、一連の関連プログラムの共通プロパティを定義します。



たとえば、データへのアクセスを担当する基本的なサービスと、このデータを処理および表示するための2つのプログラムがある場合があります。 次に、このセットは3つのアプリケーションで構成され、3つの構成ファイルに分割できます。main.sedgeは、アプリケーションでエラーが発生した場合にレポートに含める内容を決定します。app1.sedgeおよびapp2.sedgeは、対応するアプリケーション用。 app1.sedgeおよびapp2.sedgeファイルは、プログラムのインストールまたはアンインストール中に追加または削除できます。



構成ファイルは、プログラムの動作を完全に決定します。 ウィザードのステップ、レポートに追加するファイル、HTMLレポートで表示される情報と方法を設定します。



簡単な構成ファイルの例


<? xml version ="1.0" encoding ="UTF-8" ? >

< Sedge >

< Suite name ="LunarFrog.TaggedFrog" caption ="TaggedFrog Error Reporting" partial ="no" >

< Schedule >

< Step name ="Screenshot" />

< Step name ="ErrorDetails" />

< Step name ="Contacts" />

< Step name ="Collect" />

</ Schedule >



< Transport name ="Email" >

< Option name ="to" value ="error_mail@company.com" />

< Option name ="subject" value ="Error report" />

</ Transport >



< Report >

< Group name ="UserGroup" caption ="User Information" >

< Page name ="ImagePage" caption ="Screenshot" >

< Temp name ="screenshot" caption ="Screen" />

</ Page >

< Page name ="InfoPage" caption ="Information" >

< Temp name ="ReportDetails" caption ="Details" />

< Temp name ="Contacts" caption ="Contact Information" />

< Temp name ="UserFiles" />

</ Page >

</ Group >

< Group name ="EnvGroup" caption ="Enviroment" >

< Page name ="ProcessesPage" caption ="Processes" >

< Data name ="Processes" />

</ Page >

< Page name ="SystemPage" caption ="System" >

< Data name ="System" />

</ Page >

</ Group >

</ Report >



< Application name ="TaggedFrog" caption ="TaggedFrog" >

< Report >

< Group name ="ApplicationGroup" caption ="Application" >

</ Group >

</ Report >

</ Application >



</ Suite >

</ Sedge >



* This source code was highlighted with Source Code Highlighter .








ウィザードの最初のステップ


画像



この構成に従って作成されたレポートのページの1つ


報告書



レポートの情報ソース:スクリーンショット、レジストリ、自動収集ファイル、システムに関する情報、メモリ、プロセッサ、実行中のプロセスのリスト、ユーザーが提供する情報(問題の説明、データファイルなど)。



レポートのシナリオはアプリケーションによって大きく異なる可能性があるため、プログラムにはカスタマイズと拡張の機会が十分にあります。 とても簡単です。たとえば、デフォルトではプログラムでサポートされていないデータベースからデータを取得する必要がある場合、独自のウィザードステップまたは情報ソースを作成できます。 拡張機能の作成例は、プログラムのソースコードとともに利用できます。



テンプレートはHTMLとCSSを使用して指定されるため、レポートの外観も変更できます。 任意のテキスト(インターフェイス、メッセージ)を置換またはローカライズに使用できます。 デフォルトでは、英語とロシア語のインターフェースがサポートされています。



プログラム情報


プラットフォーム: .NET Framework 2.0 / C#3.0

ライセンス: MIT

ステータス:ベータ

ウェブサイト: sedge.codeplex.com



All Articles