public class MDC extends Object
設定ファイル(例:im_logger.xml)のレイアウト設定で「X{key}」または「mdc{key}」を記述することにより、 独自に定義したkeyで保存した情報をログに出力することが可能となります。 (設定方法は、ロギングAPIの実装ライブラリに依存します。)
1: // MDCに情報を保存 2: MDC.put("user_application_key", "MDCに値を設定しました。"); 3: 4: // ログの出力 5: Logger.info("処理を終了しました。");
1: <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 2: <layout class="ch.qos.logback.classic.PatternLayout"> 3: <pattern>[%level] %logger{10} - %X{user_application_key} %msg%n</pattern> 4: </layout> 5: </appender>
修飾子とタイプ | メソッドと説明 |
---|---|
static void |
clear()
非推奨です。
代替えメソッドはありません。
|
static String |
get(String key)
引数
key に関連付けられた値を取得します。 |
static void |
put(String key,
String val)
指定された値 と 指定されたキー を現在のスレッドのコンテキストマップに設定します。
|
static void |
remove(String key)
引数
key に関連付けられた値を削除します。 |
public static void put(String key, String val) throws IllegalArgumentException
引数 key
に null を指定することはできません。
引数 val
は、nullを指定することが可能です。(ロギングシステムの実装がサポートしている場合に限る)
このメソッドは、すべての処理を、ロギングシステムの MDC に委譲します。
key
- 指定される値が関連付けられるキーval
- 指定されるキーに関連付けられる値IllegalArgumentException
- 引数 key
が null の場合public static String get(String key) throws IllegalArgumentException
key
に関連付けられた値を取得します。
引数 key
に null を指定することはできません。
このメソッドは、すべての処理を、ロギングシステムの MDC に委譲します。
key
- キーkey
に関連付けられた値IllegalArgumentException
- 引数 key
が null の場合public static void remove(String key) throws IllegalArgumentException
key
に関連付けられた値を削除します。
引数 key
に null を指定することはできません。
引数 key
に関連する値が存在しない場合、このメソッドは何も行いません。
このメソッドは、すべての処理を、ロギングシステムの MDC に委譲します。
key
- キーIllegalArgumentException
- 引数 key
が null の場合public static void clear()
このメソッドは、すべての処理を、ロギングシステムの MDC に委譲します。
MDCは、スレッド単位で情報を保存します。
そのため、このメソッドを利用した場合には、該当スレッドに紐付くMDCに設定されている情報が全て削除されます。
これにより、他のログ出力が正常に行われなくなる場合があります。
具体的には、intra-martが標準で提供しているリクエストログが正しく出力されなくなります。
Copyright © 2012 NTT DATA INTRAMART CORPORATION