Gar*_*ary 6 java spring spring-mvc spring-boot
我有这个Spring @ExceptionHandler,它主要做我想要的.它将HTTP状态代码设置为409,并在JSON响应中包含额外的错误信息.
@ExceptionHandler(PolicyExecutionException.class)
public ResponseEntity handleException(PolicyExecutionException se){
return ResponseEntity.status(HttpStatus.CONFLICT).body(se.getScriptErrorMap());
}
Run Code Online (Sandbox Code Playgroud)
我注意到的是,即使它向客户端提供了正确的响应,Spring也会在WARN级别记录消息.我的信息很长,只与客户有关.我宁愿不在服务器端登录它.这可以关掉吗?
2017-06-19 18:48:10,659 [p-nio-8060-exec-2] WARN oswsmmaExceptionHandlerExceptionResolver - 由Handler执行引起的已解决异常:
我使用的另一种方法是捕获PolicyExecutionException
每个可以抛出它的Controller方法.如果可能的话,这会导致额外的样板.
AbstractHandlerExceptionResolver
,一个超类型ExceptionHandlerExceptionResolver
,维护一个warnLogger
用于在解决异常时记录该消息,由...控制setWarnLogCategory
.
默认是没有警告日志记录.指定此设置可激活警告登录到特定类别.或者,覆盖
logException(java.lang.Exception, javax.servlet.http.HttpServletRequest)
自定义日志记录的 方法.
当您创建ExceptionHandlerExceptionResolver
(或通过默认配置为您创建)时,它被设置为null
不使用.
使用Spring Boot,您可以控制是否启用了
spring.mvc.logResolvedException
Run Code Online (Sandbox Code Playgroud)
申请财产.这将控制相应的值WebMvcProperties
.(false
默认情况下,您必须将其设置为true
您的配置,或者您已setWarnLogCategory
明确调用.)
或者,关闭记录器.
归档时间: |
|
查看次数: |
3485 次 |
最近记录: |