メイン コンテンツをスキップする 補完的コンテンツへスキップ

ログおよび例外の処理

始める前に

  • プロジェクト設定でLog4jオプションが有効になっていること。詳細は、Log4を有効化して設定をご覧ください。

このタスクについて

アーティファクトを作成する場合、特定のコンポーネントを使用して例外データを収集し、StudioコンソールまたはWebアプリケーションに転送できます。

ジョブの作成時は、以下を使用します。

  • tJobFailure例外を返し、アーティファクトまたはタスクの実行を停止する場合
  • tLogCatcher例外データを収集してStudioコンソールまたはWebアプリケーションに転送する場合
  • tJobLogStudioでジョブを実行したり、Webアプリケーションでタスクを実行したりする時に、ログ情報を定義する場合

以下の例は、ジョブでデータの例外を収集する方法を示しています。

手順

  1. Webサービスを呼び出すジョブを作成します。

  2. tJobFailureコンポーネントの[Basic settings] (基本設定)ビューを開きます。
  3. [Error Type] (エラータイプ)フィールドにエラータイプとして Execution failed (実行失敗)と入力します。

    必要に応じてエラータイプを定義できます。このフィールドで定義した値はWebアプリケーションでタスクを実行する時に実行の詳細ページに表示されます。

  4. メッセージのJava式を[Error Message] (エラーメッセージ)フィールドに入力します。

    "Error during call service: " + row6.faultString + " details:" + (row6.faultDetail != null ? row6.faultDetail.toString() : null)

    これは、SOAPサービスからの応答で障害が発生した場合に例外がスローされることを意味します。必要に応じてエラーメッセージを定義できます。

  5. tLogCatcher、2つのtJobLogtJobFailureを使ってサブジョブを作成します。

    デモプロジェクトをインポートした場合は、[Repository] (リポジトリー)ツリービューの[Joblets] (ジョブレット)ノードに用意されている例外処理サブジョブをドロップできます。デモプロジェクトの詳細は、Talend Cloudの入門ガイドをご覧ください。

  6. tLogCatcherコンポーネントの基本設定で、[Catch Java Exception] (Java例外をキャッチ)および[Catch tJobFailure] (tJobFailureをキャッチ)オプションを選択します。

    例外データを収集してStudioコンソールまたはWebアプリケーションに転送するtLogCatcherコンポーネント。

  7. 最初のtJobLogコンポーネントの基本設定で、[Developer] (開発者)オプションを選択し、[Log message] (ログメッセージ)フィールドに以下のようにログメッセージを定義します:
    "\n | Action: " + row1.job + "\n | Component: " + row1.origin + "\n | Error type: " + row1.type + "\n | Error code: " + row1.code + "\n | Error message: " + row1.message

    これにより、エラーメッセージがStudioに記録されます。

  8. 2番目のtJobLogコンポーネントの基本設定で、[User] (ユーザー)オプションを選択し、[Log message] (ログメッセージ)フィールドに以下のようにログメッセージを定義します:
    row2.message

    これによりエラーメッセージがWebアプリケーションに書き込まれます。

  9. tJobFailureコンポーネントの基本設定で、[Execution failed] (実行失敗)をエラータイプとして設定し、[Error Message] (エラーメッセージ)フィールドのメッセージのJava数式を以下の例のように設定します:
    row3.job + ":" + row3.origin +": " + row3.message

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。