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

Log4jを有効化して設定

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

情報メモ警告: 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ファイルがすべて同期化されます。

    情報メモ注: 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をご覧ください。

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

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