我的电脑重新启动,我的应用程序今天不再运行。昨天还在工作。除了 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
绝地无双
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 不会在调试模式下记录过滤器。
添加回答
举报
0/150
提交
取消