log4j 中的异常深度

发布于 2024-10-09 14:27:13 字数 5450 浏览 0 评论 0原文

我的 Myfaces 2 应用程序遇到实例化异常。但是通过 log4j 打印的异常会切断堆栈跟踪的其余部分。这是我所看到的:

javax.faces.FacesException:java.lang.InstantiationException 在 org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:240) 在 org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:303) 在 org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:266) 在 javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) 在 org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) 在org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65) 在 org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:116) 在 javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) 在 org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) 在 org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61) 在 org.apache.el.parser.AstValue.getValue(AstValue.java:107) 在 org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) 在 org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85) 在 javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243) 在 javax.faces.component.UIOutput.getValue(UIOutput.java:71) 在 javax.faces.component.UIInput.getValue(UIInput.java:143) 在 javax.faces.component.UISelectBoolean.getValue(UISelectBoolean.java:148) 在 org.apache.myfaces.shared_impl.renderkit.RendererUtils.getObjectValue(RendererUtils.java:238) 在 org.apache.myfaces.shared_impl.renderkit.RendererUtils.getBooleanValue(RendererUtils.java:193) 在 org.apache.myfaces.shared_impl.renderkit.html.HtmlCheckboxRendererBase.encodeEnd(HtmlCheckboxRendererBase.java:79) 在 javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:626) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) 在org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1320) 在 org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263) 在 javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59) 在 org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93) 在 org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85) 在 org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239) 在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:191) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) 在 org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) 在 org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) 在 org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) 在 org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891) 在 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) 在 java.lang.Thread.run(Thread.java:619) 引起原因:java.lang.InstantiationException 在 sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 java.lang.Class.newInstance0(Class.java:355) 在 java.lang.Class.newInstance(Class.java:308) 在 org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider.newInstance(TomcatAnnotationLifecycleProvider.java:49) 在 org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:162) ... 48 更多

我找不到在哪里更改配置,所以我可以看到“... 48 more”。有什么想法吗?

Im getting in instantiation exception inf our Myfaces 2 application. But the exception printing through log4j is cutting off the rest of the stacktrace. Here is what I am seeing:

javax.faces.FacesException: java.lang.InstantiationException
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:240)
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:303)
at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:266)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142)
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65)
at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:116)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
at org.apache.el.parser.AstValue.getValue(AstValue.java:107)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85)
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243)
at javax.faces.component.UIOutput.getValue(UIOutput.java:71)
at javax.faces.component.UIInput.getValue(UIInput.java:143)
at javax.faces.component.UISelectBoolean.getValue(UISelectBoolean.java:148)
at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getObjectValue(RendererUtils.java:238)
at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getBooleanValue(RendererUtils.java:193)
at org.apache.myfaces.shared_impl.renderkit.html.HtmlCheckboxRendererBase.encodeEnd(HtmlCheckboxRendererBase.java:79)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:626)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:622)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:622)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1320)
at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider.newInstance(TomcatAnnotationLifecycleProvider.java:49)
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:162)
... 48 more

I cannot find where to change the config so I can see the "... 48 more". Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽心 2024-10-16 14:27:13

你不能。堆栈跟踪的截断是 JVM 的功能,而不是 log4j 的功能。

它实际上只是丢弃已经向您提供的信息。
... 48 more 是“Caused by”消息之前的 48 帧的简写。因此,在您的情况下,省略的 48 帧是:

    org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:303) at
    org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:266) at
    javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) at
    org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) at
    org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65) at
    org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:116) at
    javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) at
    org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) at
    org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61) at
    org.apache.el.parser.AstValue.getValue(AstValue.java:107) at
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at
    org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85) at
    javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243) at
    javax.faces.component.UIOutput.getValue(UIOutput.java:71) at
    javax.faces.component.UIInput.getValue(UIInput.java:143) at
    javax.faces.component.UISelectBoolean.getValue(UISelectBoolean.java:148) at
    org.apache.myfaces.shared_impl.renderkit.RendererUtils.getObjectValue(RendererUtils.java:238) at
    org.apache.myfaces.shared_impl.renderkit.RendererUtils.getBooleanValue(RendererUtils.java:193) at
    org.apache.myfaces.shared_impl.renderkit.html.HtmlCheckboxRendererBase.encodeEnd(HtmlCheckboxRendererBase.java:79) at
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519) at
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:626) at
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) at
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) at
    org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1320) at
    org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263) at
    javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59) at
    org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93) at
    org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85) at
    org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239) at
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:191) at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at
    org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349) at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at
    org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at
    org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) at
    org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) at
    org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) at
    org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891) at
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at
    java.lang.Thread.run(Thread.java:619)

You cannot. The truncation of the stack trace is a feature of the JVM, not log4j.

It's actually only discarding information that it has already presented to you.
The ... 48 more is a shorthand for the 48 frames that preceded the "Caused by" message. So, in your case, the elided 48 frames are:

    org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:303) at
    org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:266) at
    javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) at
    org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) at
    org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:65) at
    org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:116) at
    javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) at
    org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142) at
    org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61) at
    org.apache.el.parser.AstValue.getValue(AstValue.java:107) at
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at
    org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85) at
    javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:243) at
    javax.faces.component.UIOutput.getValue(UIOutput.java:71) at
    javax.faces.component.UIInput.getValue(UIInput.java:143) at
    javax.faces.component.UISelectBoolean.getValue(UISelectBoolean.java:148) at
    org.apache.myfaces.shared_impl.renderkit.RendererUtils.getObjectValue(RendererUtils.java:238) at
    org.apache.myfaces.shared_impl.renderkit.RendererUtils.getBooleanValue(RendererUtils.java:193) at
    org.apache.myfaces.shared_impl.renderkit.html.HtmlCheckboxRendererBase.encodeEnd(HtmlCheckboxRendererBase.java:79) at
    javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519) at
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:626) at
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) at
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:622) at
    org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1320) at
    org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263) at
    javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59) at
    org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93) at
    org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85) at
    org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239) at
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:191) at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at
    org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349) at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at
    org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at
    org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) at
    org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) at
    org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) at
    org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891) at
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at
    java.lang.Thread.run(Thread.java:619)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文