如何在spring-boot中loggingsql语句

我是春季引导的新手。

我想在一个文件中loggingsql语句。 我在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语句?

尝试在你的属性文件中使用这个:

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

这也适用于标准输出:

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

要logging值:

 spring.jpa.properties.hibernate.type=trace 

只需将其添加到application.properties

这适用于我(YAML):

 spring: jpa: properties: hibernate: show_sql: true format_sql: true logging: level: org: hibernate: type: trace 

对于MS-SQL服务器驱动程序(Microsoft SQL Server JDBC驱动程序)。

尝试使用:

 logging.level.com.microsoft.sqlserver.jdbc=debug 

在你的application.properties文件中。

我个人的偏好是设置:

 logging.level.com.microsoft.sqlserver.jdbc=info logging.level.com.microsoft.sqlserver.jdbc.internals=debug 

你可以看看这些链接以供参考:

如果你有一个logback-spring.xml或者类似的东西,那么把下面的代码添加到它

 <logger name="org.hibernate.SQL" level="trace" additivity="false"> <appender-ref ref="file" /> </logger> 

为我工作。