當前位置: 首頁>>代碼示例>>Java>>正文


Java MDC.getCopyOfContextMap方法代碼示例

本文整理匯總了Java中org.slf4j.MDC.getCopyOfContextMap方法的典型用法代碼示例。如果您正苦於以下問題:Java MDC.getCopyOfContextMap方法的具體用法?Java MDC.getCopyOfContextMap怎麽用?Java MDC.getCopyOfContextMap使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.slf4j.MDC的用法示例。


在下文中一共展示了MDC.getCopyOfContextMap方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: handler

import org.slf4j.MDC; //導入方法依賴的package包/類
public void handler(CloudwatchEvent event) throws ExecutionException, InterruptedException {
    LOG.info("Received event = [{}]", event.getId());
    final Metrics metrics = new Metrics();

    // Pass Mapped Diagnostic Context (MDC) into child thread, for logging Request ID
    final Map<String, String> contextMap = MDC.getCopyOfContextMap();
    Runnable task = () -> {
        if (contextMap != null) {
            MDC.setContextMap(contextMap);
        }
        LOG.info("Starting fibonacci task");
        timedFibonacci(metrics);
    };

    // Start one task in the background, and one in this thread
    Future<?> future = executorService.submit(task);
    task.run();

    // Wait for background task, log out metrics
    future.get();
    metrics.report(LOG);
}
 
開發者ID:symphoniacloud,項目名稱:jvm-perftest-lambda,代碼行數:23,代碼來源:FibonacciLambda.java

示例2: call

import org.slf4j.MDC; //導入方法依賴的package包/類
@Override
public K call() throws Exception {
    LOG.debug("Call using MDCHystrixContextCallable...");
    Map childMDC = MDC.getCopyOfContextMap();
    LOG.debug("childMDC --> " + childMDC);
    try {
        if (parentMDC != null) {
            MDC.setContextMap(parentMDC);
        }
        LOG.debug("parentMDC --> " + parentMDC);
        return actual.call();
    } finally {
        if (childMDC != null) {
            MDC.setContextMap(childMDC);
        }
    }
}
 
開發者ID:PacktPublishing,項目名稱:Mastering-Microservices-with-Java-9-Second-Edition,代碼行數:18,代碼來源:MDCConcurrentCallable.java

示例3: wrapTask

import org.slf4j.MDC; //導入方法依賴的package包/類
/**
 * Override this to customize how the background task is created.
 *
 * @param task the task to be run in the background
 * @return the runnable of the wrapped task
 */
protected Runnable wrapTask(Runnable task) {
  // Preserve the MDC context of the caller thread.
  Map contextMap = MDC.getCopyOfContextMap();
  if (contextMap != null) {
    return new MDCRunnableAdapter(task, contextMap);
  }
  return task;
}
 
開發者ID:zacharee,項目名稱:RCTDRemoverforLG,代碼行數:15,代碼來源:PumpStreamHandler.java

示例4: wrapTask

import org.slf4j.MDC; //導入方法依賴的package包/類
/**
 * Override this to customize how the background task is created.
 *
 * @param <T> the type of the Task
 * @param task the Task to be wrapped
 * @return the wrapped task
 */
protected <T> Callable<T> wrapTask(Callable<T> task) {
  // Preserve the MDC context of the caller thread.
  Map contextMap = MDC.getCopyOfContextMap();
  if (contextMap != null) {
    return new MDCCallableAdapter(task, contextMap);
  }
  return task;
}
 
開發者ID:zacharee,項目名稱:RCTDRemoverforLG,代碼行數:16,代碼來源:ProcessExecutor.java

示例5: decorate

import org.slf4j.MDC; //導入方法依賴的package包/類
@Override
public Runnable decorate(Runnable runnable) {
    Map<String, String> contextMap = MDC.getCopyOfContextMap();
    return () -> {
        try {
            MDC.setContextMap(contextMap);
            runnable.run();
        } finally {
            MDC.clear();
        }
    };
}
 
開發者ID:redhat-developer,項目名稱:che-starter,代碼行數:13,代碼來源:MdcTaskDecorator.java

示例6: MDCConcurrentCallable

import org.slf4j.MDC; //導入方法依賴的package包/類
public MDCConcurrentCallable(Callable<K> actual) {
    LOG.debug("Init MDCHystrixContextCallable...");
    this.actual = actual;
    this.parentMDC = MDC.getCopyOfContextMap();
    LOG.debug("actual --> " + actual);
    LOG.debug("this.parentMDC --> " + this.parentMDC);
}
 
開發者ID:PacktPublishing,項目名稱:Mastering-Microservices-with-Java-9-Second-Edition,代碼行數:8,代碼來源:MDCConcurrentCallable.java

示例7: format

import org.slf4j.MDC; //導入方法依賴的package包/類
@Override
@SuppressWarnings("unchecked")
public String format(final LogRecord record) {
    // Reset working buffer. If the buffer is too large, then we need a new
    // one in order to avoid the penalty of creating a large array.
    if (buf.capacity() > UPPER_LIMIT) {
        buf = new StringBuffer(DEFAULT_SIZE);
    } else {
        buf.setLength(0);
    }
    buf.append("<log4j:event logger=\"");
    buf.append(Transform.escapeTags(record.getLoggerName()));
    buf.append("\" timestamp=\"");
    buf.append(record.getMillis());
    buf.append("\" level=\"");

    buf.append(Transform.escapeTags(record.getLevel().getName()));
    buf.append("\" thread=\"");
    buf.append(String.valueOf(record.getThreadID()));
    buf.append("\">\r\n");

    buf.append("<log4j:message><![CDATA[");
    // Append the rendered message. Also make sure to escape any
    // existing CDATA sections.
    Transform.appendEscapingCDATA(buf, record.getMessage());
    buf.append("]]></log4j:message>\r\n");

    if (record.getThrown() != null) {
        String[] s = Transform.getThrowableStrRep(record.getThrown());
        if (s != null) {
            buf.append("<log4j:throwable><![CDATA[");
            for (String value : s) {
                Transform.appendEscapingCDATA(buf, value);
                buf.append("\r\n");
            }
            buf.append("]]></log4j:throwable>\r\n");
        }
    }

    if (locationInfo) {
        buf.append("<log4j:locationInfo class=\"");
        buf.append(Transform.escapeTags(record.getSourceClassName()));
        buf.append("\" method=\"");
        buf.append(Transform.escapeTags(record.getSourceMethodName()));
        buf.append("\" file=\"?\" line=\"?\"/>\r\n");
    }

    if (properties) {
        Map contextMap = MDC.getCopyOfContextMap();
        if (contextMap != null) {
            Set keySet = contextMap.keySet();
            if ((keySet != null) && (keySet.size() > 0)) {
                buf.append("<log4j:properties>\r\n");
                Object[] keys = keySet.toArray();
                Arrays.sort(keys);
                for (Object key1 : keys) {
                    String key = (key1 == null ? "" : key1.toString());
                    Object val = contextMap.get(key);
                    if (val != null) {
                        buf.append("<log4j:data name=\"");
                        buf.append(Transform.escapeTags(key));
                        buf.append("\" value=\"");
                        buf.append(Transform.escapeTags(String.valueOf(val)));
                        buf.append("\"/>\r\n");
                    }
                }
                buf.append("</log4j:properties>\r\n");
            }
        }

    }
    buf.append("</log4j:event>\r\n\r\n");

    return buf.toString();
}
 
開發者ID:eclipse,項目名稱:neoscada,代碼行數:76,代碼來源:Log4jXmlFormatter.java

示例8: RunnableWrapperWithMdc

import org.slf4j.MDC; //導入方法依賴的package包/類
public RunnableWrapperWithMdc(Runnable wrapped) {
	this.wrapped = wrapped;
	// we are in the origin thread: capture the MDC
	map = MDC.getCopyOfContextMap();
}
 
開發者ID:Orange-OpenSource,項目名稱:orange-mathoms-logging,代碼行數:6,代碼來源:RunnableWrapperWithMdc.java

示例9: CallableWrapperWithMdc

import org.slf4j.MDC; //導入方法依賴的package包/類
public CallableWrapperWithMdc(Callable<T> wrapped) {
	this.wrapped = wrapped;
	// we are in the origin thread: capture the MDC
	map = MDC.getCopyOfContextMap();
}
 
開發者ID:Orange-OpenSource,項目名稱:orange-mathoms-logging,代碼行數:6,代碼來源:CallableWrapperWithMdc.java

示例10: WayfRunnable

import org.slf4j.MDC; //導入方法依賴的package包/類
public WayfRunnable(Runnable runnable) {
    this.runnable = runnable;
    this.requestContext = RequestContextAccessor.get();
    this.mdcContents = MDC.getCopyOfContextMap();
}
 
開發者ID:Atypon-OpenSource,項目名稱:wayf-cloud,代碼行數:6,代碼來源:WayfRunnable.java


注:本文中的org.slf4j.MDC.getCopyOfContextMap方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。