当前位置: 首页 > 知识库问答 >
问题:

如何在JHipster中更改hibernate日志记录级别?

司徒捷
2023-03-14

我有一个用例,在这个用例中,我运行了数千个SQL查询和日志记录集,按照现在的情况,将每个查询写到控制台需要花费大量时间,并且会使客户端的调用超时。我试着将pom.xml中dev概要文件的logback.loglevel属性设置为ERROR,但是没有用。

所以我的问题是:

    < li >是否可以为单独的REST调用配置日志级别? < li >如何全局配置应用程序的日志级别?

共有3个答案

扶杜吟
2023-03-14

您需要更改两个文件,如下所示:

application.yml:

spring:

...

jpa:

   ...
   show_sql: true
   ...

logback-spring.xml

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

祝你好运

从光启
2023-03-14

将spring.jpa.show_sql:https://github.com/jhipster/jhipster-sample-app/blob/v6.10.5/src/main/resources/config/application-dev.yml#L51 中为真“是真的”是你正在寻找的吗?

公孙俊弼
2023-03-14

除了在< code >应用程序*中更改属性< code>spring.jpa.show_sql之外。yml文件,您也可以尝试更改Logback的配置:

在文件< code > src/main/resources/log back-spring . XML 和< code > src/test/resources/log back-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"/>

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

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

<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>
 类似资料:
  • 我目前正在尝试降低我在java项目中使用的PDFBox 1.8.6库的日志记录级别,但失败了。基于前面的问题,我在 /src/目录中有以下log4j.properties文件。 我不确定我还遗漏了什么,因为我仍然在控制台中收到类似以下消息的垃圾邮件。 如果有一种方法可以通过编程方式更改日志级别,那么我根本不会附加到属性文件,因为我在其他任何地方都不使用log4j。我不知道它是否使用log4j。属性

  • 问题内容: 我在系统中收到以下消息:“ FacesMessage已入队…。 ”。 Sun的JavaServer Faces实现(1.2_07-b03-FCS)的解决方案是将其添加到web.xml: 但是出于某种原因,该解决方案不适用于我正在使用 Mojarra(1.2_15-b01-FCS)的 该实施 。 该文档说,我只需要简单地更改RenderResponsePhase的记录器即可。 Faces

  • 如何设置在TomEE中运行的OpenEJB组件的日志记录级别?我想从的源代码中查看调试日志记录语句。 我尝试修改conf/logging.properties并在WAR的WEB-INF\类中添加一个logging.properties文件,但我找不到正确的组合,我甚至不确定这些是要修改/创建的正确文件。

  • 是的,我已经阅读了所有相关的问题。我正在使用log4j2(尝试了2.4版和更新到最新的2.6.2版)。 我有一个面向客户的小型实用程序。我渴望将暴露的配置保持在最低限度。但对于有问题的情况,我还想添加一个标志,以便在运行时启用调试日志。 这是我启用调试日志记录的代码 但它实际上并不适用于这些情况: 实用程序通常在30秒内完成,因此更改应该是即时的。这是log4j2。xml 使用AppenderRe

  • 在我的Java应用程序中,我使用SLF4J+Logback进行日志记录。我在开发环境中使用调试级日志记录,在生产环境中使用错误级日志记录。但是有一些消息我无论如何都想要记录下来,无论日志级别如何(类似于,但使用的是logger)。 有什么切实可行的方法可以实现这一点吗?我可以使用error或更低的级别,但我想做的是给出一些信息,所以在语义上是错误的,它不是错误。 我可以在我的中为我的类定义另一个记

  • 我想更改我的Quarkus应用程序的日志记录级别。 如何从配置文件或运行时执行此操作?