为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Spring Boot 中调试请求?

如何在 Spring Boot 中调试请求?

胡说叔叔 2023-07-28 10:10:56
我的电脑重新启动,我的应用程序今天不再运行。昨天还在工作。除了 Maven 下载新库(主要是 Amazon)之外,没有任何改变。现在我什至无法访问该/admin/login页面。如何调试请求?2019-09-13 17:26:16.924  INFO 2056 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/admin/login],methods=[GET]}" onto public java.lang.String com.s.s.controller.Controller.login()2019-09-13 17:26:21.465 ERROR 2056 --- [nio-8080-exec-1] c.s.s.c.Controller     : invalidRequest(): invalid request: /admin/login@RequestMapping(value="/admin/login", method=RequestMethod.GET)public String login() {    return "login";}@RequestMapping("/error")public void invalidRequest(HttpServletRequest request, HttpServletResponse response){    Logger.error(TAG, "invalidRequest()", "invalid request: " + request.getAttribute(RequestDispatcher.FORWARD_REQUEST_URI));    try {        response.setStatus(HttpStatus.OK.value());        response.getWriter().write("This is not a valid request");    } catch (IOException e) {        Logger.error(TAG, "invalidRequest: ", "Exception in invalidRequest() method "+e.getMessage());    }}@Overridepublic String getErrorPath() {    return "/error";}我设置了这一行,application.properties但它没有打印任何额外的内容。logging.level.com.s.s.controller.Controller=DEBUG我运行mvn clean并重新启动服务器,但没有帮助。我设置了这一行,application.properties但它没有打印任何有用的内容。debug=true我在 Makgigrahul 的答案中找到了以下搜索内容spring-sleuth,并将其添加到application.properties生成此日志中。logging.level.org.springframework.web.servlet.DispatcherServlet=DEBUG
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以尝试在org.apache.catalina.core.ApplicationFilterChain#doFilter中设置断点。这在请求处理的开始阶段非常好。或者你可以看看 org.springframework.web.servlet.DispatcherServlet#doDispatch



查看完整回答
反对 回复 2023-07-28
?
绝地无双

TA贡献1946条经验 获得超4个赞

我能够使用 Andreas 的答案进行调试,并看到了值request.request.filterChain.filters[]并看到了我的过滤器remoteAddressFilter()和锯子remoteAddress = 0:0:0:0:0:0:0:1。我有一个 IP 过滤器 ( RemoteAddrFilter),允许的值之一是127.0.0.1. 我正在使用 访问服务器http://localhost:8080/admin/home,它显然使用 IP6 地址。可能是重新启动计算机的 Windows 更新改变了网络行为。当我使用时http://127.0.0.1:8080/admin/home它有效。我想向过滤器添加日志记录以在被阻止时发出通知,但没有明显的方法。Amazing Spring 不会在调试模式下记录过滤器。



查看完整回答
反对 回复 2023-07-28
  • 2 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信