Spring cloud ErrorController中的spring zuul打印异常
当抛出异常时,它最终将被重定向到Spring cloud ErrorController中的spring zuul打印异常,spring-cloud,netflix-zuul,Spring Cloud,Netflix Zuul,当抛出异常时,它最终将被重定向到ErrorController中的错误控制器。但我找不到打印此异常的方法 @RestController public class ErrorHandlerController implements ErrorController { @Override public String getErrorPath() { return "/error"; } @RequestMapping("/error")
ErrorController
中的错误控制器。但我找不到打印此异常的方法
@RestController
public class ErrorHandlerController implements ErrorController {
@Override
public String getErrorPath() {
return "/error";
}
@RequestMapping("/error")
public String error() {
// how to log this exception?
}
}
您可以在请求属性
javax.servlet.error.exception
中找到异常。Zuul将异常对象设置为请求属性,如下所示
request.setAttribute("javax.servlet.error.exception", exception);
因此,您可以通过控制器内的HttpServletRequest对象访问该url。当客户端向不存在的url发送请求时,zuul会将其重定向到ErrorController,而不会引发任何异常。我们希望在ErrorController中打印此类异常(不在任何自定义过滤器中处理)。因为它不在任何筛选器中处理,所以无法调用setAttribute方法。