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