Log4jを有効化して設定 - Cloud - 8.0

Talend Studioユーザーガイド

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発
Last publication date
2024-03-28

Talend Studioには、実行時にロギングできるApacheロギングユーティリティのLog4jが含まれています。コンポーネント内でLog4jロガーを有効または無効にすることや、log4jの設定をプロジェクトに関してグローバルにカスタマイズすることが可能です。

対象製品:

Big Data

Big Data Platform

Cloud Big Data

Cloud Big Data Platform

Cloud Data Fabric

Data Fabric

Real-Time Big Data Platform

警告: Log4j2のセキュリティ問題(CVE-2021-44228)に対処できるよう、Dataproc 2.x以降、Azure Synapse、HD Insight 4.0の各ディストリビューションでSpark BatchジョブとSpark Streaming ジョブを実行する場合は、コンポーネント内のLog4jロガーを必ず無効にしてください。

ジョブが失敗しないよう、[File] (ファイル) > [Edit Project Properties] (プロジェクトプロパティを編集) > [Project Settings] (プロジェクト設定)[Log4j]ビューで[Activate log4j in components] (コンポーネントでlog4jを有効化)チェックボックスをオフにするか、Sparkジョブの[Advanced settings] (詳細設定)にあるlog4jLevelチェックボックスをオフにしてください。

手順

  1. Talend Studioのメインウィンドウのツールバーで[Project settings] (プロジェクト設定)をクリックするか、メニューバーで[File] (ファイル) > [Edit Project Properties] (プロジェクトプロパティを編集)とクリックして[Project Settings] (プロジェクト設定)ダイアログボックスを開きます。
  2. ダイアログボックスのツリービューで[Log4j]ノードをクリックし、[Log4j]ビューを開きます。
    Log4jビュー。
  3. log4機能を有効にするには、[Activate log4j in components] (コンポーネントでlog4jを有効化)チェックボックスをオンにします。

    デフォルトでは、プロジェクトが作成された時にLog4j機能が有効化され、Log4j 2が有効になります。

    Log4j 1しかサポートしていないTalend 7.2以前のバージョンからプロジェクトがインポートされた場合は、[Log4j version] (Log4jバージョン)ドロップダウンリストで、非推奨であるLog4jがデフォルトで選択されています。Log4jバージョンを変更すると、プロジェクトのPOMファイルがすべて同期化されます。

    対象製品:

    Cloud API Services Platform

    Cloud Big Data

    Cloud Big Data Platform

    Cloud Data Fabric

    Cloud Data Integration

    Cloud Data Management Platform

    Data Fabric

    注: Talend Cloudにジョブをデプロイする必要がある場合、Log4j 2の使用にはTalend Remote Engine 2.8.1以降が必要です。
  4. 必要であれば、[Log4j template] (Log4jテンプレート)エリアでXML命令を変更してLog4jのグローバル設定を変更します。
    たとえば、デバッグや高位のメッセージをすべて出力するようlog4jのルートロガーを設定するには、[Loggers] (ロガー)セクションに移動し、rootノードのlevel属性の値をdebugに設定します。

    Talendが提供する8.0 R2022-09以降のTalend Studioマンスリーアップデートをインストール済みであれば、Log4j 2 MDC (Mapped Diagnostic Context) にはキーと値のペアが入力されます。これらの新しいログ属性によって、複数のスレッドからのログメッセージがすべて単一のファイルに書き込まれる場合に、ログデータが生成されたスレッドを簡単に特定できるようになります。Log4j 2 MDCの詳細は、Log4j 2 API - Thread Contextをご覧ください。

    ログの例。

    ログの書き込み時に追加ログ属性をすべて含める場合は、PatternLayoutセクションに%Xを追加します。

    <PatternLayout pattern="[%-5level] %d{HH:mm:ss} %logger{36}- %X %msg%n" />

    ログの書き込み時に特定のログ属性を含める場合は、PatternLayoutセクションに%X{key} %X{key2} ... %X{keyN}を追加します。{keyN}は、対応するログ属性のキーです。また、属性を簡単に識別できるよう、コンマなどの文字で属性を区切ることもできます。次の例では、ログの書き込み時に_pid属性と_startTimestampの属性が含まれます。

    <PatternLayout pattern="[%-5level] %d{HH:mm:ss} %logger{36}- %X{_pid}, %X{_startTimestamp} %msg%n" />

    Log4j 2の設定に関する詳細は、Configuring with XMLをご覧ください。

    Log4j 1の設定に関する詳細は、Log4jXmlFormatをご覧ください。