13 | | * MDC に関しては、LogBackマニュアルの |
---|
| 13 | * 設定ファイル(例:im_logger.xml)のレイアウト設定で「X{key}」または「mdc{key}」を記述することにより、 |
---|
| 14 | * 独自に定義したkeyで保存した情報をログに出力することが可能となります。 |
---|
| 15 | * (設定方法は、ロギングAPIの実装ライブラリに依存します。) |
---|
| 16 | * </p> |
---|
| 17 | * |
---|
| 18 | * <br/> |
---|
| 19 | * ●サンプルコード |
---|
| 20 | * <pre> |
---|
| 21 | * 1: // MDCに情報を保存 |
---|
| 22 | * 2: LoggerMDC.put(<font color="red"><b>"user_application_key"</b></font>, "MDCに値を設定しました。"); |
---|
| 23 | * 3: |
---|
| 24 | * 4: // ログの出力 |
---|
| 25 | * 5: Logger.info("処理を終了しました。"); |
---|
| 26 | * </pre> |
---|
| 27 | * |
---|
| 28 | * <br/> |
---|
| 29 | * ●設定ファイル「im_logger_XXXX.xml」 |
---|
| 30 | * <pre> |
---|
| 31 | * 1: <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
---|
| 32 | * 2: <layout class="ch.qos.logback.classic.PatternLayout"> |
---|
| 33 | * 3: <pattern>[%level] %logger{10} - <font color="red"><b>%X{user_application_key}</b></font> %msg%n</pattern> |
---|
| 34 | * 4: </layout> |
---|
| 35 | * 5: </appender> |
---|
| 36 | * </pre> |
---|
| 37 | * |
---|
| 38 | * <h2>MDC利用時の注意事項</h2> |
---|
| 39 | * <ul> |
---|
| 40 | * <li>MDCは、スレッド単位で情報を保存します。</li> |
---|
| 41 | * <li> |
---|
| 42 | * MDCに保存した内容は、明示的に初期化が行われない限り、値が初期化されることはありません。 |
---|
| 43 | * そのため、必要に応じて初期化処理(MDC.remove(key))を行う必要があります。 |
---|
| 44 | * </li> |
---|
| 45 | * <li> |
---|
| 46 | * intra-mart WebPlatform/AppFrameworkでは、製品の標準ログ出力機能にてMDCを利用しています。 |
---|
| 47 | * そのため、同一のkeyを使用した場合、正常にログが出力されなくなります。 |
---|
| 48 | * </li> |
---|
| 49 | * </ul> |
---|
| 50 | * |
---|
| 51 | * MDC に関しては、intra-mart WebPlatform/AppFramework の ログ設定ガイド、 |
---|
| 52 | * および、LogBackマニュアルの |
---|