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

标签 hibernate logging jhipster

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

所以我的问题是:

  • 是否可以为单个 REST 调用配置日志级别?
  • 如何全局配置应用程序的日志级别?
  • 最佳答案

    除了更改属性spring.jpa.show_sqlapplication*.yml文件,您也可以尝试更改 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_sqlfalse 而是配置 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>
    

    关于hibernate - 如何在 JHipster 中更改 hibernate 日志记录级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29127233/

    相关文章:

    java - 主 Hibernate session 自动关闭

    java - 如何使用 hibernate 自动生成额外的序列?

    maven - 多个 SLF4J Spring Boot 错误

    jenkins-pipeline - 如何传递 jenkins 的凭据以将 docker 镜像推送到我自己的注册表?

    spring - Jhipster:在没有 Web 服务器的情况下运行 junit 测试

    java - 使用嵌套构造函数查询

    nhibernate - Fluent-Hibernate 存在吗?

    java - Java 中的异常处理

    windows - logging syslog-ng 以多行记录 Windows 日志

    c# - 用于滚动文件接收器的 Serilog 机器名称增强器