log4j中的异常深度[英] Exception depth in log4j

本文是小编为大家收集整理的关于log4j中的异常深度的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

im进入实例化例外我们的myfaces 2应用程序.但是通过log4j打印的例外正在切断堆栈的其余部分.这是我看到的:

javax.faces.facexception:java.lang.instantiationException 请访问org.apache.myfaces.config.managedbeanbuilder.buildmanagedbean(ManagedBeanBuilder.java:240) atrg.apache.myfaces.el.unified.Resolver.ManagedBeanResolver.CreateManagedBean(ManagedBeanResolver.java:303) 请访问org.apache.myfaces.el.unified.Resolver.ManagedBeanresolver.getValue(ManagedBeanResolver.java:266) 在javax.el.com.positeelresolver.getValue(CompositeelResolver.java:54) at org.apache.myfaces.el.unified.resolver.facescompositeelresolver.getValue(facescompositepositeelresolver.java:142) atrg.apache.myfaces.el.variableresolverimpl.resolvevariable(variablesolesolverimpl.java:65) 请访问org.apache.myfaces.el.convert.variableresolesolesolvertoelresolver.getValue(variableresolesolesolvertoelresolver.java:116) 在javax.el.com.positeelresolver.getValue(CompositeelResolver.java:54) at org.apache.myfaces.el.unified.resolver.facescompositeelresolver.getValue(facescompositepositeelresolver.java:142) 请访问org.apache.el..parser.astidentifier.getValue(astidentifier.java:61) atrg.apache.el..parser.astvalue.getValue(astvalue.java:107) at rog.apache.el.valueexpressepressionimpl.getValue(valueexpressionimpl.java:186) atrg.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) atorg.apache.myfaces.shared_impl.renderkit.rendererutils.getObjectValue(renderererutils.java:238) atrg.apache.myfaces.shared_impl.renderkit.rendererutils.getBooleanValue(renderererutils.java:193) atorg.apache.myfaces.shared_impl.renderkit.html.htmlcheckboxboxrendererbase.encodeend(htmlcheckboxboxboxboxrendererbase.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) atorg.apache.myfaces.view.facelets.faceletviewdeclarationlanguage.renderview(faceletviewdeclarationlanguage.java:1320) atorg.apache.myfaces.application.viewhandlerimpl.renderview(viewHandlerimpl.java:263) 在javax.faces.application.viewhandlerwrapper.renderview(viewhandlerwrapper.java:59) at org.apache.myfaces.tomahawk.application.resourceviewhandlerwrapper.renderview(resourceViewHandlerWrapper.java:93) atorg.apache.myfaces.lifecycle.renderresponseexecutor.execute(rendersponseexecutor.java:85) atorg.apache.myfaces.lifecycle.lifecycleimpl.render(lifecycleimpl.java:239) 在javax.faces.webapp.facesservlet.service(Facesservlet.java:191) at org.apache.catalina.core.applicationfilterchain.internaldofilter(ApplicationFilterChain.Java:290) atrg.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) atorg.apache.myfaces.webapp.filter.extensionsfilter.dofilter(ExtensionsFilter.java:349) at org.apache.catalina.core.applicationfilterchain.internaldofilter(ApplicationFilterChain.Java:235) atrg.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) atorg.apache.catalina.core.candardwrappervalve.invoke(standardwrappervalve.java:233) atrg.apache.catalina.core.candardcontextvalve.invoke(standardContextvalve.java:191) at org.apache.catalina.core.standardhostvalve.invoke(StandardHostvalve.java:128) at org.apache.catalina.valves.erroreportvalve.invoke(errorrereportvalve.java:102) atrg.apache.catalina.core.candardenginevalve.invoke(StandardEnginevalve.java:109) atorg.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:293) atorg.apache.jk.server.jkcoyotehandler.invoke(jkcoyotehandler.java:190) atrg.apache.jk.common.handlerrequest.invoke(handlerrequest.java:291) atorg.apache.jk.common.channelsocket.invoke(channelsocket.java:769) atorg.apache.jk.common.common.channelsocket.processConnection(channelsocket.java:698) atorg.apache.jk.common.common.channelsocket $ socketConnection.runit(channelsocket.java:891) atrg.apache.tomcat.util.threads.threadpool $ control runnable.run(threadpool.java:690) 在java.lang.thread.run(thread.java:619) 引起:java.lang.instantiationException 在sun.reflect.instantiationExceptionConstructorAccessorimpl.NewInstance(InstantiationExceptionConstructoraccesorimpl.java:30) 在java.lang.reflect.constructor.newinstance(constructor.java:513) 在java.lang.class.newinstance0(class.java:355) 在java.lang.class.newinstance(class.java:308) atorg.apache.myfaces.config.annotation.tomcatannotationlifecycleprovider.newinstance(tomcatannotationLifecycleProvider.java:49) 请访问org.apache.myfaces.config.managedbeanbuilder.buildmanagedbean(ManagedBeanBuilder.java:162) ... 48

我找不到在哪里更改配置的地方,因此我可以看到" ...更多48".有什么想法吗?

推荐答案

您不能.堆栈跟踪的截断是JVM的功能,而不是Log4J的功能.

实际上只是丢弃已经向您介绍的信息. ... 48 more是the 48 frames that preceded the "Caused by" message的速记.因此,在您的情况下,省略的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)

本文地址:https://www.itbaoku.cn/post/1574983.html

问题描述

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?

推荐答案

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)