如何更改 JHipster 中的休眠日志记录级别?

How to change the hibernate logging level in JHipster?

我有一个用例,其中我 运行 多个 SQL 查询和日志记录设置,将每个查询写到控制台需要很多时间并进行调用客户端超时。我尝试将 pom.xml 中开发配置文件的 logback.loglevel 属性 设置为错误,但这没有帮助。

所以我的问题是:

是否正在将 spring.jpa.show_sql: true in https://github.com/jhipster/jhipster-sample-app/blob/v6.10.5/src/main/resources/config/application-dev.yml#L51 更改为 'false' 您要查找的内容?

除了修改application*.yml文件中的属性spring.jpa.show_sql,你也可以试试修改Logback的配置:

在文件src/main/resources/logback-spring.xmlsrc/test/resources/logback-test.xml中您可以添加以下配置:

要获取详细的日志 SQL 信息,包括 SQL 参数值:

<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.type" level="TRACE"/>

为了让 SQL 不那么啰嗦:

<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.type" level="TRACE"/>

作为额外的好处,在 logback 配置文件中显式声明这些记录器将使 Hibernate 的日志记录使用 Logback 的布局配置,例如显示时间和执行线程的名称。

spring.jpa.show_sql 设置为 true 优先于 Logback 配置 - 包括没有时间和没有执行线程名称的不太有用的布局。因此,为了我自己的目的,我更喜欢将 spring.jpa.show_sql 设置为 false 而不是配置 logback-spring.xml(无论如何都应该放置日志配置方面)。在那里,您可以设置 Spring profile-specific logging levels:

<springProfile name="dev, staging">
    <logger name="org.hibernate.SQL" level="DEBUG"/> <!-- set org.hibernate.SQL to DEBUG to see SQL statements -->
    <logger name="org.hibernate.type" level="INFO"/> <!-- set org.hibernate.type to TRACE to see SQL parameters -->
</springProfile>
<springProfile name="prod">
    <logger name="org.hibernate.SQL" level="INFO"/> <!-- set org.hibernate.SQL to DEBUG to see SQL statements -->
    <logger name="org.hibernate.type" level="INFO"/> <!-- set org.hibernate.type to TRACE to see SQL parameters -->
</springProfile>

您需要修改以下两个文件:

application.yml:

spring:

...

jpa:

   ...
   show_sql: true
   ...

logback-spring.xml

<logger name="org.hibernate.SQL" level="DEBUG">;

祝你好运。