diff --git a/pom.xml b/pom.xml index 3e4fb7c..9c654a6 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.apache.logging.log4j log4j-slf4j-impl - 2.10.0 + 2.20.0 diff --git a/src/main/java/cn/wudashan/Main.java b/src/main/java/cn/wudashan/Main.java index 1fafb5b..075e304 100644 --- a/src/main/java/cn/wudashan/Main.java +++ b/src/main/java/cn/wudashan/Main.java @@ -5,11 +5,14 @@ import cn.wudashan.util.MDCUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Random; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.stream.Stream; /** * 主函数 + * * @author wudashan */ public class Main { @@ -19,32 +22,26 @@ public class Main { public static void main(String[] args) { - // 入口传入请求ID - MDCUtil.putRequestId(); - // 主线程打印日志 - logger.debug("log in main thread"); + Stream.generate(() -> new Random().nextInt(10)).distinct().limit(10) + .parallel().forEach(e -> { + // 入口传入请求ID + MDCUtil.putRequestId(); + // 主线程打印日志 + logger.debug("{} log in main thread", e); - // 异步线程打印日志,用MDCRunnable装饰Runnable - new Thread(new MDCRunnable(new Runnable() { - @Override - public void run() { - logger.debug("log in other thread"); - } - })).start(); + // 异步线程打印日志,用MDCRunnable装饰Runnable + new Thread(new MDCRunnable(() -> logger.debug("{} log in other thread", e))).start(); - // 异步线程池打印日志,用MDCRunnable装饰Runnable - EXECUTOR.execute(new MDCRunnable(new Runnable() { - @Override - public void run() { - logger.debug("log in other thread pool"); - } - })); + // 异步线程池打印日志,用MDCRunnable装饰Runnable + EXECUTOR.execute(new MDCRunnable(() -> logger.debug("{} log in other thread pool", e))); + + // 出口移除请求ID + MDCUtil.removeRequestId(); + + }); EXECUTOR.shutdown(); - // 出口移除请求ID - MDCUtil.removeRequestId(); - } }