クライアント側のデバッグ

Web開発 > リッチクライアントアプリケーション

リッチクライアントタスクでは、アクティビティモニタを使用することでサーバ側のデバッグを行うことができます。クライアント側の処理は、次のイベントが処理される際に、アクティビティモニタに追加されます。これは、別のイベントが実行される前に、リッチクライアントタスクが異常終了したり、ハングアップした場合、アクティビティモニタの最後の処理内容は残らないことを意味しています。従って、クライアント側のデバッグができるようにすることでこの問題が解決できるようにします。

[ロギング]テーブルの[クライアントの動作]を「Yes」に設定することで、アクティビティモニタにクライアント側の処理が表示されます。

クライアント側の処理コマンドを実行する間に、リッチクライアントタスクが異常終了したり、応答が無くなったりした場合、その状態はアクティビティモニタには表示されません。従って、クライアント側のデバッグを行う場合は、以下のような方法で行ってください。

クライアント側の異常終了をデバッグするには

  1. JNLPファイル内のLogClientSequenceForActivityMonitorフラグを「Yes」に設定します。JNLPファイルは、リッチクライアントインタフェースビルダを使用することで作成されます。このフラグを「Yes」に設定すると、クライアント側の実行内容がクライアントPC内のログファイルとして作成されます。 このログファイルには、まだサーバに送信されなかったすべての情報が含まれます。ログファイルは、各イベントが実行された後やアプリケーションが終了する際に削除されます。

  2. クライアントでアプリケーションを実行させるには、JNLPファイルを使用します。Magicは、既存のログファイルを検索し、前回の異常終了情報が見つかった場合、その情報をサーバに送信します。これによって、アクティビティモニタに表示されます(モニタに表示されるタイムスタンプで前回の内容かどうかを確認できます)。

  3. 異常終了が発生した場合、(異常処理プロセス以外のログファイルが正常に削除されるように)すべての並行実行プロセスを終了してください。

  4. アプリケーションを再起動します。これで、最後のクライアント処理が記録されたログファイルがサーバに送られ、アクティビティモニタに表示されます。

  5. アクティビティモニタは、クライアントログによって更新され、問題の箇所を確認することができます。

注意:

  • アクティビティモニタの表示行は、サーバ側の処理がピンク、クライアント側の処理は白で表示されます。

  • ログファイルは暗号化されているため、ログファイルを直接参照することはできません。

  • [ロギング]テーブルの[クライアントの動作]が「No」に設定された場合、ログファイルは作成されません。この設定を「Yes」にすると、パフォーマンスが低下するため、通常の運用時は「No」に設定してください。

内部ログの出力

以下の設定で内部用のログ情報が出力されます。

<argument>InternalLogLevel=NONE</argument>
<argument>InternalLogFile=InternalClient.log</argument>

このパラメータが無効な場合(タグが正しく設定されていない場合)、ログファイルは作成されません。