ログおよび例外の処理 - Cloud

Talend Cloud Real-Time Big Data Platform Studioユーザーガイド

author
Talend Documentation Team
EnrichVersion
Cloud
EnrichProdName
Talend Cloud
task
ジョブデザインと開発
EnrichPlatform
Talend Management Console
Talend Studio

始める前に

このタスクについて

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

ジョブの作成時には、以下を使用します。
tJobFailure
例外を発生させ、アーティファクトまたはタスクの実行を停止する場合
tLogCatcher
例外データを収集してStudioコンソールまたはWebアプリケーションに転送する場合
tJobLog
Studioでジョブを実行したり、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][tJobLog](x2)および[tJobFailure]を使用して、サブジョブを作成します。

    デモプロジェクトをインポートした場合は、[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