我是 Hibernate 的新手,我在我的应用程序中使用 JPA +Hibernate + Spring Boot。正在使用 log4j2 处理日志记录。当我的应用程序正确抛出异常(在我的情况下是 DataIntegrityViolationException 或 EntityExistsException)时,Hibernate 正在使用 stackTrace 记录异常。这很好,因为它有助于调试。但是,它还会记录我不希望出现在日志中的应用程序敏感数据。属性文件中是否有可以设置或修改的设置来防止这种情况发生。我不想在我的 log4j2.xml 中为 hibernate 创建一个 appender,并在最终日志中屏蔽特定的词。
答案 0 :(得分:0)
您可以在 spring boot 中添加全局异常,并且您只能按照本教程记录异常消息 - https://www.studytonight.com/spring-boot/spring-boot-global-exception-handling
或者,您可以为每个调用执行一些 try catch 并使用自定义消息抛出异常,如下所示。
Try {
//call
} catch (Exception ex){
throws CustomizedRunTimeException(“yourMessage”)
}
类如下
public class CustomizedRunTimeException extends RunTimeException {
public CustomizedRunTimeException(String errorMessage) {
super(errorMessage);
}
}