首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ThreadContext.pop()抛出NoSuchElementException: log4j2.3中的ThreadContext堆栈为空

ThreadContext.pop()抛出NoSuchElementException: log4j2.3中的ThreadContext堆栈为空
EN

Stack Overflow用户
提问于 2016-05-25 12:20:13
回答 1查看 581关注 0票数 1

我正在尝试从log4j-1.x升级到log4j-2.3,并在运行时得到以下错误。我遗漏了什么吗?

代码语言:javascript
复制
public void debug(String msg) {
    appendContext();
    logger.debug(msg);
    ThreadContext.pop();
}

5/25/16 20:08:16:748 SGT 0000006a com.ibm.ws.webcontainer.servlet.ServletWrapper服务SRVE0068E:应用程序DBIN中间件中servlet MWServlet的服务方法之一引发异常。创建的异常:[ org.apache.logging.log4j.spi.DefaultThreadContextStack.pop(DefaultThreadContextStack.java:185):org.apache.logging.log4j.ThreadContext.pop(ThreadContext.java:391)的ThreadContext堆栈在ThreadContext上为空

EN

回答 1

Stack Overflow用户

发布于 2017-12-22 11:50:47

ThreadContext对象具有堆栈对象和映射对象。ThreadContext.isEmpty()是对地图的检查,而ThreadContext.pop()是堆栈上的检查。

下面的支票对我有效:

代码语言:javascript
复制
   if (!ThreadContext.getImmutableStack().isEmpty()) {
        ThreadContext.pop();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37436945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档