javax验证-禁用无效值的注解日志记录

i7uq4tfw  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(247)

我对这样一个领域进行了限制:

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
  }
}
j2qf4p5b

j2qf4p5b1#

我认为,您可以通过属性log4j.logger.org.hibernate.validator(如何打开hibernate validator debug logger)为javax.validation配置特定的日志级别。对于dev env,您可以设置debug level和prod-error。

相关问题