我对这样一个领域进行了限制:
import javax.validation.constraints.Pattern;
@Pattern(regexp=SOME_REGEX)
private String someField;
正则表达式工作正常,但如果值无效,则会记录该值:
[Field error in object 'containingSomeField' on field 'someField': rejected value [InvalidValue123];
有没有办法禁用此登录注解?到目前为止我还没有找到任何东西。
我一般不想禁用日志记录,只想打印这个值。屏蔽这个值就足够了。
编辑:
找到了我自己问题的答案。可以重写默认异常处理程序:
@ControllerAdvice
public class ResponseExceptionHandler extends ResponseEntityExceptionHandler {
@Override
public final ResponseEntity<Object> handleMethodArgumentNotValid(
MethodArgumentNotValidException ex,
@NonNull HttpHeaders headers,
@NonNull HttpStatus status,
@NonNull WebRequest request
) {
// Your code here
}
}
1条答案
按热度按时间j2qf4p5b1#
我认为,您可以通过属性log4j.logger.org.hibernate.validator(如何打开hibernate validator debug logger)为javax.validation配置特定的日志级别。对于dev env,您可以设置debug level和prod-error。