как регистрировать операторы sql в spring-boot
Я новичок в spring-boot.
Я хочу записать 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 в консоли, но они не отображаются в приложении для файлов.бревно. Файл содержит только основные журналы из spring.
что я должен сделать, чтобы увидеть инструкции sql в файле журнала?
8 ответов:
попробуйте использовать это в файле Properties:
logging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
это работает и для stdout:
spring.jpa.properties.hibernate.show_sql=true spring.jpa.properties.hibernate.use_sql_comments=true spring.jpa.properties.hibernate.format_sql=true
до значения log:
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
пожалуйста, используйте:
logging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.type=TRACE spring.jpa.show-sql=true
для драйвера MS-SQL server (драйвер Microsoft SQL Server JDBC).
попробуйте использовать:
logging.level.com.microsoft.sqlserver.jdbc=debug
в вашем приложении.файл свойств.
мои личные предпочтения выделяют:
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>
работает для меня.
чтобы также получить переменные привязки:
<logger name="org.hibernate.type.descriptor.sql" level="trace"> <appender-ref ref="file" /> </logger>
по данным документация - это:
spring.jpa.show-sql=true # Enable logging of SQL statements.
Если вы хотите просмотреть фактические параметры, используемые для запроса, вы можете использовать
обратите внимание, что фактическое значение параметра отображается какlogging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.type.descriptor.sql=TRACE
binding parameter......
2018-08-07 14:14:36.079 DEBUG 44804 --- [ main] org.hibernate.SQL : select employee0_.id as id1_0_, employee0_.department as departme2_0_, employee0_.joining_date as joining_3_0_, employee0_.name as name4_0_ from employee employee0_ where employee0_.joining_date=? 2018-08-07 14:14:36.079 TRACE 44804 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [TIMESTAMP] - [Tue Aug 07 00:00:00 SGT 2018]