我正在使用Spring框架和休眠的Web应用程序。我的问题是,我经常收到由于我在代码库中某个地方犯了错误而导致的404错误,但控制台中没有异常消息。正因为如此,我正在努力寻找错误发生的地方,因为项目变得非常庞大,而且手动试图找出问题是不切实际的。我假设Spring导致这个问题,所以我的问题是:是否有某种方式来启用更详细的错误消息?谢谢春天的Web应用程序抛出404错误,没有控制台日志
回答
的问题结束了,有来自我的一个Hibernate实体的一对缺少的注释。继从下面的链接程序帮助追查通过提供更详细的错误信息:
http://www.captaindebug.com/2011/07/using-hibernate-validation-annotation.html
404是一个http错误,只有你的web服务器可能知道它。对于这些失败的请求很可能,您的应用程序服务器或Spring容器从未被击中。查找Web服务器日志以确定问题。
疑难解答404 IIS服务器上
http://blogs.iis.net/tomkmvp/archive/2009/04/27/troubleshooting-a-404.aspx
故障排除404 RAD Web服务器
http://www-304.ibm.com/support/docview.wss?uid=swg27035752&aid=1
作为一对夫妇的人已经提到它,这里的问题是,某些错误(如404异常)被Servlet容器拦截,因此永远不会到达Spring以及您可能已经设置的任何日志记录机制。所以这里的诀窍是改变你的例外的重要性顺序,以便Spring对它有所了解。
我曾经碰到过赶,处理并充分登录春天所有的异常,最好的方法在这篇文章中描述:http://steveliles.github.io/configuring_global_exception_handling_in_spring_mvc.html
,因为我碰到的是博客文章来我一直在执行这个设置,它至少可以说是一个救星。它会给你你需要的详细的错误信息。关键是要通过实现Spring的HandlerExceptionResolver和Ordered接口,然后返回尽可能低的顺序号,从而将您的异常处理了图腾柱基本上创建自定义异常处理程序:
import org.springframework.core.*;
import org.springframework.web.servlet.*
public class LoggingHandlerExceptionResolver
implements HandlerExceptionResolver, Ordered {
public int getOrder() {
return Integer.MIN_VALUE; // we're first in line, yay!
}
public ModelAndView resolveException(
HttpServletRequest aReq, HttpServletResponse aRes,
Object aHandler, Exception anExc
) {
anExc.printStackTrace(); // again, you can do better than this ;)
return null; // trigger other HandlerExceptionResolver's
}
}
如果'DispatcherServlet'不参与处理请求,即。容器收到的请求没有映射到它,那么你的'HandlerExceptionResolver'将不会执行任何操作。 –
我还打404时没有错误控制台输出的问题。
作为圣人的答案,没有控制台日志的原因之一: 这里的问题是,某些错误(如404除外)由Servlet容器
“弹簧框架,参比得到截获3.2.3.pdf“ - > 1.3 - >记录 - >使用Log4J,解决了我的环境中的问题。
- 1. 春天web应用程序错误406
- 2. 使用控制台应用程序解析Elmah错误日志
- 3. 量角器Firefox的控制台日志错误没有出现
- 4. 春天没有加载控制器和没有控制台错误
- 5. Eclipse控制台没有显示任何错误/日志输出
- 6. 春天错误 - springframework.web.client.HttpClientErrorException:404没有找到
- 7. SpringBoot Web应用程序:JSP页面抛出404错误
- 8. 在jenkins控制台日志上显示应用程序日志
- 9. 没有控制台输出 - 日食应用程序
- 10. 春天的web应用程序,尝试发送响应为json抛出错误500错误
- 11. 退出控制台应用程序c#并写入日志
- 12. Ionic 2 Cordova Web应用程序浏览器控制台错误(GET example.com/screen 404)
- 13. 春控制台应用程序,从JAR
- 14. 在控制台上抛出错误后应用程序退出 - 赢得死亡。 !
- 15. Heroku - 应用程序错误,但在日志中没有错误
- 16. Rails的控制台抛出错误
- 17. Tomcat Catalina错误日志没有显示在控制台上
- 18. Azure的Web应用程序跟踪日志没有出现在日志
- 19. CakePHP控制台 - 应用程序错误
- 20. Jenkins控制台输出有一个日志权限错误
- 21. 春天:只有vo类作为春季控制器参数的404错误
- 22. 反应组件拖动不起作用,没有错误或控制台日志
- 23. CakePHP控制台 - 错误日志
- 24. 春天,Struts中,Hibernate的应用程序引发错误时抛出org.springframework.beans.factory.BeanCreationException
- 25. 春天MVC 3.0 404错误
- 26. Chrome扩展程序 - 控制台日志没有触发
- 27. 将日志控制台输出到日志文件Java日志程序
- 28. FQL控制台抛出“行动”错误
- 29. jsFiddle抛出控制台错误
- 30. 线程控制台应用程序抛出错误,但执行正常进行,没有任何记录
如果Spring在调试或信息级别上至少没有记录任何东西,那意味着Spring不参与。换句话说,你的Servlet容器给你404响应。 –
你正在使用哪个Web服务器? –
如果你给我们你的servlet映射和一个失败的请求的例子,它也会有所帮助。 –