如何在Spring Boot中记录SQL语句?

2022-08-31 04:26:49

我想将 SQL 语句记录到文件中。

我在以下属性:application.properties

spring.datasource.url=...
spring.datasource.username=user
spring.datasource.password=1234
spring.datasource.driver-class-name=net.sourceforge.jtds.jdbc.Driver

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

security.ignored=true
security.basic.enabled=false

logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
logging.file=c:/temp/my-log/app.log

当我运行我的应用程序时,

cmd> mvn spring-boot:run

我可以在控制台中看到 SQL 语句,但它们不会显示在 app.log 中。该文件仅包含来自Spring的基本日志。

如何查看日志文件中的 SQL 语句?


答案 1

请尝试在属性文件中使用以下命令:

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

答案 2

这也适用于标准输出:

spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
spring.jpa.properties.hibernate.format_sql=true

要记录值:

logging.level.org.hibernate.type=trace

只需将其添加到 .application.properties


推荐