gpt4 book ai didi

java - 将org.slf4j.MDC与Netty channel 一起使用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:09 25 4
gpt4 key购买 nike

实际上,我想做的是How to use MDC with thread pools?所要问的,但要与Netty一起。

我想要每个Channel关联的MDC信息。 Netty有哪些选择?如果我需要手动重置MDC,可以使用哪种方法从一个地方进行重置?

最佳答案

看看GitHub上的mdedetrich/mdc-async-netty-eventloopgroup项目。基本上,您必须装饰EventLoopGroup.execute

@Override
public void execute(Runnable runnable) {
delegate.execute(new Runnable() {
@Override
public void run() {
Map<String, String> oldMdcContext = MDC.getCopyOfContextMap();
setContextMap(mdcContext);
try {
runnable.run();
} finally {
setContextMap(oldMdcContext);
}

}
});
}

private void setContextMap(Map<String, String> context) {
if (context == null) {
MDC.clear();
} else {
MDC.setContextMap(context);
}
}

关于java - 将org.slf4j.MDC与Netty channel 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com