一尘不染

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

java

我想将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语句?


阅读 377

收藏
2020-03-18

共2个答案

一尘不染

尝试在属性文件中使用它:

logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
2020-03-18
一尘不染

这也适用于stdout:

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

2020-03-18