---
schema_version: "1"
id: 21384af6d749c262ec79e78a6d742ac23944fa7ca9c0cf862639dec56f414b3e
title: Tracing Module Logging Variable 操作の設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/tracing-module/1.1/tracing-module-logging.md
canonical_url: https://docs.mulesoft.com/jp/tracing-module/1.1/tracing-module-logging
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 3c9e9e5277fd5cf098703c0bef13c5d13cf3c684be17b417794343c22b174ce9
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# Tracing Module Logging Variable 操作の設定

Tracing Module の ​**Clear logging variables**​、​**Remove logging variable**​、​**Set logging variable**​ 操作を使用すると、1 つの Mule イベントのログコンテキストの変数を追加、削除、クリアすることでログを強化できます。

Mapped Diagnostic Context (MDC) では、より多くのコンテキストまたは情報が現在の Mule イベントのログに提供されるため、ログが強化され、追跡が改善されます。デフォルトでは、Mule では、現在のイベントの場所を表示する ​`processor`​ と、イベントの相関 ID を表示する ​`event`​ の 2 つの MDC エントリが記録されます。

## [](#始める前に)始める前に

Tracing module logging 操作を使用するには、次のタスクを完了します。

- モジュールを Mule プロジェクトに追加します。
- `log4j.xml`​ ファイル内のパターンレイアウトを ​`MDC`​ に変更します。

## [](#モジュールを-mule-プロジェクトに追加する)モジュールを Mule プロジェクトに追加する

Tracing Module を Mule プロジェクトに追加して、XML コードにモジュールの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​`pom.xml`​ ファイルに必須の連動関係を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。
2. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ ウィンドウで、検索項目に「​`tracing`​」と入力します。
3. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[Tracing Module\]**​ をクリックします。
4. **\[Add (追加)\]**​ をクリックします。
5. **\[Finish (完了)\]**​ をクリックします。

## [](#log4j-xml-ファイル内のパターンレイアウトの変更)log4j.xml ファイル内のパターンレイアウトの変更

この変更では、相関 ID とプロセッサーパスを含む MDC コンテキストを自動的に追加するように Mule に指示します。変更を行うには、Mule アプリケーションで ​`log4j.xml`​ を変更するか、Mule インスタンス内で ​`/conf/log4j2.xml`​ を変更します。

次の手順に従って、パターンレイアウトを MDC に変更します。

1. `log4j.xml`​ ファイルを編集目的で開きます。
2. `[processor: %X{processorPath}; event: %X{correlationId}]`​ を ​`[%MDC]`​ に置き換えます。

### [](#log4j-xml-ファイルの設定例)log4j.xml ファイルの設定例

例: MDC ログを含まないデフォルトの log4j.xml ファイル。

<PatternLayout pattern="%-5p %d \[%t\] \[processor: %X{processorPath}; event: %X{correlationId}\] %c: %m%n"/>

例: MDC ログを含む更新後の log4j.xml ファイル。

<PatternLayout pattern="%-5p %d \[%t\] \[%MDC\] %c: %m%n"/>

## [](#studio-で-tracing-module-操作を設定する)Studio で Tracing Module 操作を設定する

logging variables 操作を設定するには、​**Clear logging variables**​、​**Remove logging variable**​、​**Set logging variables**​ のいずれかの使用可能な操作を Mule アプリケーションフローに追加して、対応する属性を指定します。

次の例では、​**Set logging variables**​ 操作を設定します。

1. Studio の ​**\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Tracing\] > \[Set logging variable\]**​ を選択します。
2. **\[Set logging variable\]**​ を Mule アプリケーションにドラッグします。
3. **\[Variable name (変数名)\]**​ を ​`testVar`​ に設定します。
4. **\[Value (値)\]**​ を「​`testValue`​」に設定します。

![Set logging variable 操作の設定ウィンドウ](/mulesoft/current/ja-jp/tracing-module/1.1/_images/tracing-module-set-logging-variable.png)

設定 XML エディターでは、​`<tracing:set-logging-variable>`​ 設定は次のように記述されます。

```xml
<flow name="exampleFlow">
    ...
    <tracing:set-logging-variable variableName="testVar" value="testValue" />
    ...
</flow>
```

フローの実行後、出力ログは次のようになります。

INFO  2021-04-08 16:58:26,882 \[\[MuleRuntime\].uber.15: \[test-project-app\].exampleFlow.CPU\_LITE @18f679\] \[{correlationId=c85e16c0-98a4-11eb-bc34-cac765a2219b, processorPath=exampleFlow/processors/2, testVar=testValue}\] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: Example

前のログコンテキストの例は、​**Logger**​ コンポーネントのすべての出力と Mule Runtime Engine で生成されるすべての内部ログに影響します。

## [](#set-logging-variable-mule-アプリケーションを作成する)Set Logging Variable Mule アプリケーションを作成する

次の例では、​**Set logging variable**​ 操作を設定し、要求ペイロードおよび属性に基づいて変数を記録します。

![Studio キャンバスの Set logging variable フロー](/mulesoft/current/ja-jp/tracing-module/1.1/_images/tracing-module-set-logging-variable-flow.png)

1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[HTTP\] > \[Listener\]**​ を選択します。
2. **\[Listener\]**​ を Studio キャンバスにドラッグします。
3. **\[Listener\]**​ 設定画面で、​**\[Path (パス)\]**​ を ​`/order`​ に設定します。
4. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (​**+**​) をクリックして、アプリケーション内の HTTP リスナーのすべてのインスタンスで使用できるグローバル要素を設定します。
5. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[Tracing\] > \[Set logging variable\]**​ を選択します。
6. **\[Set logging variable\]**​ を \[HTTP\] の \[Listener\] の右にドラッグします。
7. **\[Variable name (変数名)\]**​ を ​`customerId`​ に設定します。
8. **\[Value (値)\]**​ を ​`#[payload.customerId]`​ に設定して、要求で送信される顧客 ID を記録します。
9. 別の ​**\[Set logging variable\]**​ 操作を最初の ​**\[Set logging variable\]**​ 操作の右にドラッグします。
10. **\[Variable name (変数名)\]**​ を ​`requestPath`​ に設定します。
11. **\[Value (値)\]**​ を ​`'#["$(attributes.method):$(attributes.requestPath)"]'`​ に設定して、要求パスを記録します。
12. **\[Logger\]**​ コンポーネントを 2 番目の ​**\[Set logging variable\]**​ 操作の右にドラッグします。
13. **\[Message (メッセージ)\]**​ を ​`#[output application/json --- payload]`​ に設定して、要求ペイロードを記録します。
14. Mule アプリケーションを保存して実行します。
15. 次の curl コマンドを実行します。
    
    ```xml
    curl --location --request GET '0.0.0.0:8081/order' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "orderId": 548102842,
        "customerId": "ARG-12934",
        "items": [
            "CP-123",
            "CP-452"
        ]
    }'
    ```

出力では、​`customerId`​、​`requestPath`​、要求ペイロードが記録されます。

```xml
INFO  2021-04-09 11:14:38,409 [[MuleRuntime].uber.05: [tracing-module].tracing-moduleFlow.CPU_LITE @34a62707] [processor: tracing-moduleFlow/processors/2; event: eb2b2461-993d-11eb-8a64-4865ee1fd814] {correlationId=eb2b2461-993d-11eb-8a64-4865ee1fd814, customerId=ARG-12934, processorPath=tracing-moduleFlow/processors/2, requestPath=GET:/order} org.mule.runtime.core.internal.processor.LoggerMessageProcessor: {
    "orderId": 548102842,
    "customerId": "ARG-12934",
    "items": [
        "CP-123",
        "CP-452"
    ]
}
```

### [](#set-logging-variable-mule-アプリケーションの-xml)Set Logging Variable Mule アプリケーションの XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:tracing="http://www.mulesoft.org/schema/mule/tracing"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/tracing http://www.mulesoft.org/schema/mule/tracing/current/mule-tracing.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="2258f968-60ad-41d3-a1c1-5afeffd89297" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	<flow name="tracingmodule2Flow" >
		<http:listener  config-ref="HTTP_Listener_config" path="/order"/>
		<tracing:set-logging-variable variableName="#[customerId]" value="#[payload.customerId]"/>
		<tracing:set-logging-variable  variableName="requestPath" value='#["$(attributes.method):$(attributes.requestPath)"]'/>
		<logger level="INFO" message="#[output application/json --- payload]"/>
	</flow>
</mule>
```

## [](#関連情報)関連情報

- [Tracing Module の例](https://docs.mulesoft.com/jp/tracing-module/1.1/tracing-module-examples)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)