通过 Java 代码启用 Hibernate 查询日志记录

时间:2021-07-07 10:35:17

标签: java spring hibernate spring-data-jpa batch-processing

我想在 UAT 环境中打印特定的休眠查询。但是,我不想为所有查询启用休眠日志记录,因为它将开始生成大量日志。 有没有一种方法可以在我想打印的查询之前通过 java 代码启用休眠查询日志记录,然后立即禁用它?请注意,我使用的是 Spring 数据 Jpa 存储库。

2 个答案:

答案 0 :(得分:0)

这取决于您使用的日志库。

我认为 Spring 使用 SLF4J 和 logback,因此应该可以使用以下内容:

LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();
loggerContext.getLogger("org.hibernate.SQL").setLevel(Level.DEBUG); 

然后设置

loggerContext.getLogger("org.hibernate.SQL").setLevel(Level.ERROR); 

答案 1 :(得分:-1)

在 logback 的帮助下可以进行自定义日志记录,但不确定它是否有助于记录特定的 SQL 日志。

使用此链接-https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.logging