Регистрация операторов SQL в Spring Boot + jdbi

Я использую источник данных с DBI:

@Autowired
DataSource dataSource;

@Bean
public DBI dbiBean() {
    DBI dbi = new DBI(dataSource);
    return dbi;
}

Я понятия не имею, как настроить структуру ведения журнала для регистрации операторов SQL. Я старался:

logging:
 level: 
   org.hibernate: TRACE
   org.skife.jdbi: TRACE
   java.sql: TRACE

но это не работает.


person Marcin Wiśniewski    schedule 07.04.2017    source источник
comment
В каком классе вы создали объект Bean? Я думаю, что он должен быть установлен в классе *Application, который содержит основной метод.   -  person harshavmb    schedule 07.04.2017
comment
В одном из весенних классов @Config. Я нашел, как регистрировать операторы SQL, но мое решение не показывает параметры SQL.   -  person Marcin Wiśniewski    schedule 07.04.2017
comment
@MarcinWiśniewski, возможно, вам стоит поделиться тем, что вы нашли   -  person Vladislav Kysliy    schedule 23.05.2017
comment
Хорошо, нужно вызвать dbi.setSQLLog(new SLF4JLog());   -  person Marcin Wiśniewski    schedule 23.05.2017
comment
Видел, что stackoverflow.com/questions/23564383/ ?   -  person Vladislav Kysliy    schedule 23.05.2017


Ответы (1)


Добавьте строку, чтобы настроить журнал SQL следующим образом. Используйте либо SLF4JLog, либо другой регистратор.

@Bean
public DBI dbiBean() {
    DBI dbi = new DBI(dataSource);
    dbi.setSQLLog(new SLF4JLog());
    return dbi;
}
person Paul Vickery    schedule 17.03.2020
comment
Я думаю, что это относится к JDBI 2. Не работает с JDBI 3. - person TechSpellBound; 07.08.2020