【问题标题】:Javax Validation - Disabling annotation logging for invalid valuesJavax 验证 - 禁用无效值的注释日志记录
【发布时间】:2020-12-22 16:16:55
【问题描述】:

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

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

【问题讨论】:

    标签: java spring annotations spring-annotations javax.validation


    【解决方案1】:

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

    【讨论】:

    • 特别提到我无论如何都不想禁用登录。
    猜你喜欢
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2011-06-22
    • 2015-04-21
    • 2015-02-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多