[英]Suppress warn logs for exception in Spring Boot
我有一个像这样的自定义异常
@ResponseStatus(HttpStatus.UNAUTHORIZED)
public class AccessException extends RuntimeException {
}
但是当我从@RestController 中抛出它时,它会记录以下内容:
2018-04-17 11:44:58.239 WARN 17928 --- [nio-8080-exec-3] .w.s.m.a.ResponseStatusExceptionResolver : Resolved exception caused by Handler execution: site.user.AccessException
我尝试检查源代码,但找不到记录的位置。 我不想关闭日志记录,因为它可能会记录我感兴趣的其他内容。我只是不认为每次都应该记录这样的自定义异常。
您可以将类org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver
日志级别设置为ERROR
。 这样你只会丢失这个类的WARN
、 DEBUG
和TRACE
日志。
如果您想从此类中看到一些 WARN 级别的异常,我会看到两个选项:
org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver
复制到您的代码库,更改日志记录。 确保您的副本位于类路径的顶部,而 Spring 位于下方。 这是一种黑客攻击。 ResponseStatusExceptionResolver 是 Spring 的实现细节。 它可能会在未来版本中更改/移动/删除。在 Spring 中,您可以将此行添加到application.properties
以指定特定类的日志记录级别:
logging.level.site.user.AccessException=ERROR
或
logging.level.site.user.AccessException=OFF
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.