Как регистрировать JSON запросов, построенных через ElasticSearch High Level Java Client для отладки? - PullRequest
3 голосов
/ 25 марта 2020

Я использую высокоуровневый клиент ElasticSearch Java API в своем приложении Spring Boot. Я хочу регистрировать запросы, построенные с использованием клиентского API высокого уровня для целей отладки. У меня вопрос, какие настройки требуются в моем файле application.properties для включения JSON запросов, построенных из моего приложения?

Я опробовал следующие свойства в файле application.properties. Однако он не печатает JSON запросов, построенных с использованием TermQueryBuilder, BoolQueryBuilder, RangeQueryBuilder и др. c.

logging.level.org.elasticsearch.client=TRACE
logging.level.org.elasticsearch.client.sniffer=TRACE
logging.level.org.elasticsearch=TRACE

1 Ответ

3 голосов
/ 25 марта 2020

Вы можете просто регистрировать запросы, созданные с помощью клиента верхнего уровня, используя следующий код в своем регистраторе.

Вы также можете контролировать, какие типы запросов вы хотите регистрировать и какие типы уровней (TRACE, INFO, DEBUG) вы хотите установить в указанных c случаях.

код для получения и регистрации в поиске JSON

SearchRequest searchRequest = new SearchRequest("employee").source(sourceBuilder);
log.info("Search JSON query: {}", searchRequest.source().toString());

Первая строка используется для создания поискового запроса, а вторая строка используется для печати search JSON, Примечание searchRequest.source().toString()), которое используется для получения строки поиска JSON.

Дайте мне знать, если вы при возникновении любых проблем, я делаю это все время, используя клиент высокого уровня отдыха.

...