如何在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>
为我工作。