java - 使用弹簧数据启用休眠日志记录?
问题描述
我正在尝试在我的 springboot 和 springdata 应用程序中设置 SQL 语句的休眠日志记录。
我在 application.properties 文件中设置了以下属性:
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type=TRACE
但不知何故,他们没有被捡起,也没有 sql 日志来。也尝试过设置 spring.jpa.show-sql 属性,但似乎不起作用。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>in.abcd</groupId>
<artifactId>spring-boot-commons</artifactId>
<version>1.0.10</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</exclusion>
<exclusion>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<version>2.1.6.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
</dependencies>
解决方案
使用记录器就足够了
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
或者,使用spring.jpa
属性,您可以像这样使用它们:
spring.jpa.show-sql = true
此外,为了美化或漂亮地打印 SQL,我们可以添加:
spring.jpa.properties.hibernate.format_sql=true
推荐阅读
- c - C中的二叉搜索树导致堆损坏错误
- ios - CALayer的Presentation(Presentation Layer)和render(in:context)
- arm - 配置 GDB 以接受交叉编译的可执行文件?
- javascript - 如何使用Angular中的过滤器访问嵌套的对象数组?
- java - Eclipse Content Assist 忽略下划线
- reactjs - 如何使调度同步
- numpy - 在numpy中将协方差表转换为协方差矩阵的最简单方法
- java - Jenkins 使用 Java 构建注入环境变量
- html - 将图像放在 SVG 中,移除 SVG
- javascript - 美国的日期排序在使用时刻函数的 javascript 中不起作用