【问题标题】:Enabling Hibernate query logging through Java code通过 Java 代码启用 Hibernate 查询日志记录
【发布时间】:2021-09-17 21:40:12
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 正如我在问题中已经提到的,我不想在应用程序级别这样做。我只想为特定的代码块以编程方式完成它
    【解决方案2】:

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

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

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

    然后设置

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2017-05-04
      • 2017-08-08
      • 1970-01-01
      • 2018-08-18
      相关资源
      最近更新 更多