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方法。