在所有控制器通用的异常处理程序下面,正常工作,只是我需要在处理异常后从AbstractHandlerExceptionResolver类禁用WARN日志。使用Spring-webmvc 5x版本。
@ControllerAdvice
public class AllExceptionHandler{
@ExceptionHandler(SomeCustomException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public void exceptionHandler() {
}
}
这是我要避免的日志:
02-20-2019 15:22:54,896警告[http-nio-8080-exec-1](AbstractHandlerExceptionResolver.java:140)-已解决[com.rasa.rrt.ste.controller.SomeCustomException]
我没有使用Spring Boot。
试图使用 ExceptionHandlerExceptionResolver 扩展上述 AllExceptionHandler 类,并在 AllExceptionHandler 构造函数中调用 warnLogCategory(null) ,但会引发NullPointerException。
此外,我在Google上看到将此属性设置为“ spring.mvc.log-resolved-exception = false”以禁用警告,但不确定在何处/如何进行设置。
答案 0 :(得分:0)
您可以在登录配置中禁用此警告日志, 通过在我的情况下在“ logback-spring.groovy”行中指定
logger("org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver", ERROR)
答案 1 :(得分:0)
您提到 spring.mvc.log-resolved-exception=false
作为可能的解决方案:
另外,我在谷歌上看到设置这个属性“spring.mvc.log-resolved-exception=false”来禁用警告,但不确定在哪里/如何设置它。
spring.mvc.log-resolved-exception
属性是一个 Spring Boot property,将使用标准 Spring Boot externalized configuration 机制进行设置。启用该属性会导致 Spring Boot 将 HandlerExceptionResolver
bean 配置为记录异常,否则它们不会记录异常。
是否启用对由“HandlerExceptionResolver”解决的异常的警告日志,“DefaultHandlerExceptionResolver”除外。
由于您已声明未使用 Spring Boot,因此此属性不适用于您的场景。