2015-05-08 3 views
117

Я новичок в весенней загрузке.Как записывать заявления sql в весеннюю загрузку

Я хочу записывать операторы 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. Файл содержит только основные журналы с весны.

Что делать, чтобы видеть инструкции sql в файле журнала?

ответ

174

попробовать использовать это в свойствах файла:

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

Если вы хотите слишком для регистрации значений: 'logging.level.org.hibernate.type = TRACE' – elysch

+0

Но это регистрирует только несколько значений связывания. Как я могу регистрировать значения из критериев-API? Если я использую Спецификации, я не получаю вывод для связанных параметров, созданных с помощью CriteriaBuilder. – Josh

5

Для драйвера MS-SQL-сервера (Microsoft SQL Server JDBC Driver).

попробовать с помощью:

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

в файле application.properties.

Мои личные предпочтения, чтобы установить:

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

Вы можете посмотреть на эти ссылки для справки:

82

Это работает на стандартный вывод также:

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

Для регистрации значений:

spring.jpa.properties.hibernate.type=trace 

Просто добавьте в application.properties.

+5

Если вы хотите также регистрировать значения: 'spring.jpa.properties.hibernate.type = trace' – elysch

+0

Это не записывается в файл журнала, это записывается в STDOUT –

+1

Я по-прежнему вижу только'? 'Вместо параметров. Было ли это решение, чтобы показать их мне? – Adeynack

37

Это работает для меня (YAML):

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

если вы хава Logback-spring.xml или что-то вроде этого, добавьте следующий код к нему

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

работает для меня.

2

Пожалуйста, используйте.

logging.level.org.hibernate.SQL=DEBUG 
logging.level.org.hibernate.type=TRACE 
spring.jpa.show-sql=true 
It works for me. 

Danke, 
Rahul 
Смежные вопросы