我有一个用例,我在其中运行多个SQL查询和日志记录集,将每个查询写入控制台需要花费大量时间并在客户端调用时间。我尝试将pom.xml中dev配置文件的logback.loglevel属性设置为ERROR,但这没有帮助。
所以我的问题是:
答案 0 :(得分:4)
将spring.jpa.show_sql:https://github.com/jhipster/jhipster-sample-app/blob/master/src/main/resources/config/application-dev.yml中的true更改为'false'您要查找的是什么?
答案 1 :(得分:1)
除了更改spring.jpa.show_sql
文件中的属性application*.yml
之外,您还可以尝试更改Logback的配置:
在文件src/main/resources/logback-spring.xml
和src/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>
答案 2 :(得分:-1)
您需要更改以下两个文件:
<强> application.yml 强>:
spring:
...
jpa:
...
show_sql: true
...
<强>的logback-spring.xml 强>
<logger name="org.hibernate.SQL" level="DEBUG">;
祝你好运。