如何更改 JHipster 中的休眠日志记录级别?
How to change the hibernate logging level in JHipster?
我有一个用例,其中我 运行 多个 SQL 查询和日志记录设置,将每个查询写到控制台需要很多时间并进行调用客户端超时。我尝试将 pom.xml 中开发配置文件的 logback.loglevel 属性 设置为错误,但这没有帮助。
所以我的问题是:
- 是否可以为单个 REST 调用配置日志级别?
- 如何全局配置应用程序的日志级别?
是否正在将 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.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>
您需要修改以下两个文件:
application.yml:
spring:
...
jpa:
...
show_sql: true
...
logback-spring.xml
<logger name="org.hibernate.SQL" level="DEBUG">;
祝你好运。
我有一个用例,其中我 运行 多个 SQL 查询和日志记录设置,将每个查询写到控制台需要很多时间并进行调用客户端超时。我尝试将 pom.xml 中开发配置文件的 logback.loglevel 属性 设置为错误,但这没有帮助。
所以我的问题是:
- 是否可以为单个 REST 调用配置日志级别?
- 如何全局配置应用程序的日志级别?
是否正在将 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.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>
您需要修改以下两个文件:
application.yml:
spring:
...
jpa:
...
show_sql: true
...
logback-spring.xml
<logger name="org.hibernate.SQL" level="DEBUG">;
祝你好运。