0

我对这样的字段进行了限制:

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

1 回答 1

0

我认为,您可以通过属性 log4j.logger.org.hibernate.validator 为 javax.validation 配置特定的日志级别(How to turn of hibernate-validator DEBUG logger)。对于 dev env,您可以设置调试级别和 prod - 错误。

于 2020-12-23T23:49:03.647 回答