Size: a a a

2021 March 26

V

Vladimir in pro.jvm
Георгий СПб
понял, спасибо
Просто транскодинг из коробки )
источник

AE

Alexandr Emelyanov in pro.jvm
Artem Koshkov
внутри метода тыкаю репозиторий, получаю просто person и в логах вижу, что подкачивает все lazy entities. Соответственно при fetchedPerson.getAddresses ожидаю, что будет lazy exception, но нихрена
В пропертиес ничего не прописывал, касающегося fetch type
А как тянет? Отдельно или в том же запросе?
источник

AE

Alexandr Emelyanov in pro.jvm
Dmitriy Zanin
если вдруг кому понадобится - как в итоге получилось у меня обойти это недоразумение:
Создал CustomLogger extends feign.Logger
Переопределил в нем 3 основных метода (logRequest, logAndRebufferResponse, log) - по факту взял всё полностью из feign.Logger что бы ничего не сломать 🙂
log - в нем заменил вызов log.debug на log.info
logRequest и logAndRebufferResponse оставил как в feign.Logger, так как в логгере, используемом по умолчанию (Slf4jLogger) эти методы переопределены и стоит проверка if (this.logger.isDebugEnabled())
После чего в конфиге создал бин
@Bean
feign.Logger logger() {
   return new CustomLogging();
}


the end.
ps: надеюсь не отсрелю себе ногу по яйца
Почему бы просто не настроить нужный уровень логгирования на feign.Logger?
источник

AK

Artem Koshkov in pro.jvm
Alexandr Emelyanov
А как тянет? Отдельно или в том же запросе?
А как это понять, я просто в логе вижу 2 селекта,ну это два запроса, нет?
источник

AE

Alexandr Emelyanov in pro.jvm
Artem Koshkov
А как это понять, я просто в логе вижу 2 селекта,ну это два запроса, нет?
Lombok используете?
источник

AK

Artem Koshkov in pro.jvm
Alexandr Emelyanov
Lombok используете?
Да
источник

AK

Artem Koshkov in pro.jvm
Но ничего не делаю, т.е. просто репозиторий.найьи по id
источник

AK

Artem Koshkov in pro.jvm
Тустрингов не вызываю
источник

AK

Artem Koshkov in pro.jvm
Ничего
источник

AE

Alexandr Emelyanov in pro.jvm
Исключите из @EqualsAndHashcode поле с lazy связью
источник

AE

Alexandr Emelyanov in pro.jvm
Ну и из @ToString
источник

DZ

Dmitriy Zanin in pro.jvm
Alexandr Emelyanov
Почему бы просто не настроить нужный уровень логгирования на feign.Logger?
если бы было всё так просто 🙂
Feign по умолчанию использует Slf4Logger extends feign.Logger, а в Slf4Logger метод log():
protected void log(String configKey, String format, Object... args) {
   if (this.logger.isDebugEnabled()) {
       this.logger.debug(String.
format(methodTag(configKey) + format, args));
   }
}
источник

AK

Artem Koshkov in pro.jvm
Alexandr Emelyanov
Ну и из @ToString
Отключены были
источник

AK

Artem Koshkov in pro.jvm
Не знаю, вроде по всем правилам ничего плохого не делаю, что может к этому приводить... Надо будет дебажиит...
источник

AE

Alexandr Emelyanov in pro.jvm
Dmitriy Zanin
если бы было всё так просто 🙂
Feign по умолчанию использует Slf4Logger extends feign.Logger, а в Slf4Logger метод log():
protected void log(String configKey, String format, Object... args) {
   if (this.logger.isDebugEnabled()) {
       this.logger.debug(String.
format(methodTag(configKey) + format, args));
   }
}
Тогда на Slf4Logger повесить debug уровень и будут логи
источник

AE

Alexandr Emelyanov in pro.jvm
Artem Koshkov
Отключены были
Сущность покажи
источник

AK

Artem Koshkov in pro.jvm
Alexandr Emelyanov
Сущность покажи
источник

DZ

Dmitriy Zanin in pro.jvm
Alexandr Emelyanov
Тогда на Slf4Logger повесить debug уровень и будут логи
но рут лвл в логбеке = info
источник

AE

Alexandr Emelyanov in pro.jvm
Artem Koshkov
Отключены были
Из @EqualsAndHashcode тоже убран?
источник

AE

Alexandr Emelyanov in pro.jvm
Dmitriy Zanin
но рут лвл в логбеке = info
И что? Более конкретный логгер имеет приоритет выше
источник